通过ValidationRule验证输入绑定到DataTable的Datagrid

时间:2015-08-05 11:59:38

标签: c# wpf datagrid validationrule

问:如何管理我的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之间的绑定问题吗?或者我是否必须以编程方式触发验证?什么是最好的处理方式?

1 个答案:

答案 0 :(得分:0)

解决方案是使用ValidationStep属性:

              <DataGrid.RowValidationRules >
                    <test:TableValidationRules ValidationStep="CommittedValue"/>
              </DataGrid.RowValidationRules>