wpf中的数据验证

mat*_*tte 5 c# validation wpf

在我的代码我这样:

class Data
{
    private int valore;
    public int Valore
    {
        get 
        {
            return valore;
        }
        set
        {
            if (value > 10 || value < 0)
            {
                throw new ArgumentException("Insert a value between 0 and 10");
            }                    
            valore = value;                
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我:

Data dati = new Data { Valore = 6 };

    public MainWindow()
    {
        InitializeComponent();                      

        this.DataContext = dati;
    }
Run Code Online (Sandbox Code Playgroud)

在XAML我:

<TextBox Height="23" Width="120" Text="{Binding Path=Valore, Mode=TwoWay, ValidatesOnExceptions=True}"
Run Code Online (Sandbox Code Playgroud)

问题是,当我插入一个大于10的值时,我看不到周围的红色边框TextBox,而是我的应用程序抛出一个未处理的异常.

msa*_*het 1

MSDN WPF 验证

您这样做不正确,您的程序因未处理的异常而崩溃的原因是您抛出了未处理的异常。