wpf - 强制验证; WPF、数据网格、ObservableCollection

标签 wpf validation datagrid wpf-controls

我有一个 WPF 数据网格。我读取了一个 csv 文件并构建了一个 ObservableCollection 对象。
我将 DataGrid.ItemsSource 设置为 Collection。然后,我想对 DataGrid 中的每一行强制执行 RowValidation。如果我,扮演用户,编辑一个单元格,RowValidation 触发,一切都很好。但是验证不会在初始加载时触发。有什么方法可以调用 ??ValidateRow??连续?在每一行?
(C#、WPF、VS2008 等)

最佳答案

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

  <Binding Path="Name" UpdateSourceTrigger="PropertyChanged">
            <Binding.ValidationRules>
                <ExceptionValidationRule />
            </Binding.ValidationRules>
        </Binding>

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

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

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






You can call the Validate() method on the ErrorProvider to force validation, and check if the controls are valid

关于wpf - 强制验证; WPF、数据网格、ObservableCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/999145/

相关文章:

c# - 如何检测何时按下向下箭头键/C# WPF

c# - 单击 ListBoxItem 区域内的任何控件时触发器 SelectedIndex 发生更改

Javascript 表单验证 - 只有第一个字符必须是数字

WPF 动画首次运行

validation - 从 <h :inputText> go through validation 获取空字符串

javascript - 验证失败时停止触发 asp.net btnsave.click 事件

c# - 绑定(bind) WPF DataGrid 文本列的前景

php - SELECT * FROM 给出其他结果,然后 SELECT 2010,2011 FROM

c# - 如何使功能区控件快速访问工具栏位于 GUI 的顶部?

c# - 更改项目时的 WPF 列表框选择问题