WPF Datagrid滚动导致验证触发

时间:2016-12-21 15:36:44

标签: c# wpf validation scroll datagrid

这种行为背后的原因是什么?即使没有进行编辑,滚动数据网格也会导致验证规则定义为

<DataGrid.RowValidationRules>
  <local:RowValidationChecker ValidationStep="CommittedValue"  ValidatesOnTargetUpdated="True"/>
</DataGrid.RowValidationRules>

开火。关于如何禁用此行为的任何想法,或者可能检查是否已发出编辑,以便即使验证触发,它也可以放在条件分支中?

谢谢!

1 个答案:

答案 0 :(得分:0)

您的网格是否有PreviewMouseLeftButtonDown触发的事件?       如果是这样,单击滚动条可以触发它。

您可以过滤此行为:

    private void DataGrid_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        DependencyObject src = VisualTreeHelper.GetParent((DependencyObject)e.OriginalSource);
        if (src.GetType() == typeof(ContentPresenter))
        {
          --- your event code ----
        }
    }