强制验证; WPF,DataGrid,ObservableCollection

7 validation wpf datagrid wpf-controls

我有一个WPF DataGrid.我读了一个csv文件并构建了一个ObservableCollection对象.我将DataGrid.ItemsSource设置为Collection.我想在DataGrid中的每一行强制执行RowValidation.如果我,播放用户,编辑一个单元格,RowValidation会触发,一切都很好.但验证不会触发初始负载.有什么方法可以调用吗?ValidateRow ?? 在一排?在每一排?(C#,WPF,VS2008等)

ama*_*int 2

对于您的绑定,将 UpdateSourceTrigger 设置为属性已更改,然后将验证规则放入其中。默认更新源触发器是失去焦点。

  <Binding Path="Name" UpdateSourceTrigger="PropertyChanged">
            <Binding.ValidationRules>
                <ExceptionValidationRule />
            </Binding.ValidationRules>
        </Binding>
Run Code Online (Sandbox Code Playgroud)

另外,对于另一个好的解决方案,请看这里

http://www.codeproject.com/KB/WPF/wpfvalidation.aspx

Paul 构建了一个自定义错误提供程序,例如

您可以调用ErrorProvider上的Validate()方法来强制验证,并检查控件是否有效