当我点击取消按钮时,ValidationRule正在触发

时间:2015-09-02 11:08:34

标签: wpf xaml validationrules

我有一个数据网格,其中包含一些项目和验证规则,用于检查网格中的项目是否正确。

还有一个关闭按钮,问题是当你点击它时验证器正在检查添加的值是否正确,如果没有它提示错误但我只是想关闭窗口并跳过验证数据。

原因是当您单击取消按钮时,您也会失去焦点,从而触发验证

代码应该更好地解释它:

<DataGrid  Name="MyGrid" Loaded="GetSth" ItemsSource="{Binding}" AutoGenerateColumns="False" >
                <DataGrid.RowValidationRules>
                    <configuration:SomeCoolValidationRule ValidationStep="UpdatedValue"/>
                </DataGrid.RowValidationRules>

                      <DataGrid.Columns>
                        <!-- some columns  -->
                      </DataGrid.Columns>

                <Button Grid.Row="1" Content="Close" VerticalAlignment="Bottom" Click="CloseClick"/>      
  </DataGrid>

代码背后:

  <!-- Code behind -->
  private void CloseClick(object sender, RoutedEventArgs e)
  {
            <!-- When clicked i just want window to close, not to check validator rules -->
            Close(); 

  }

1 个答案:

答案 0 :(得分:0)

解决方案是将按钮上的focusable属性设置为false。

这样,单击关闭按钮并且验证器未启动时,您不会更改datagrid itemsSource。