问:如何管理我的dataGrid验证规则在更改行/单元格之后而不是之前验证我的输入。
C:我有一个带有自动生成列的数据网格和验证规则:
#about-stat {
background: rgba(0, 0, 0, 0) url("http://quotesnhumor.com/wp-content/uploads/2014/12/Funny-Minions-Pictures-and-Quotes.jpg") no-repeat center top ;
background-size: 100% auto;
数据网格在填充数据库中的数据后绑定到dataTable ....
<DataGrid x:Name="dataGrid"
RowDetailsVisibilityMode="VisibleWhenSelected"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Auto"
EnableRowVirtualization="True"
AutoGenerateColumns="True"
ItemsSource="{Binding}"
SelectionMode="Extended">
<DataGrid.RowValidationRules>
<test:TableValidationRules/>
</DataGrid.RowValidationRules>
</DataGrid>
...
当我启动我的程序时,所有数据都按预期可视化,并且在构建数据网格时会触发数据网格的验证。但是如果我在我的dataGrid中添加一些新数据,例如在新行中,对未更改的数据进行验证,而不考虑我写入某个单元格的数据。
似乎我忘记了一些细节,解决方案并不遥远。它是dataTable和DataGrid之间的绑定问题吗?或者我是否必须以编程方式触发验证?什么是最好的处理方式?
答案 0 :(得分:0)
解决方案是使用ValidationStep属性:
<DataGrid.RowValidationRules >
<test:TableValidationRules ValidationStep="CommittedValue"/>
</DataGrid.RowValidationRules>