DataGridTextColumn ValidationRules不会触发Validation.HasErrorProperty

时间:2015-04-09 20:10:02

标签: wpf mvvm attached-properties validationrules

我有DataGrid DataGridTextColumn,我有一个ValidationRule

<DataGridTextColumn Header="xxx" IsReadOnly="False">
   <DataGridTextColumn.Binding>
     <Binding Path="xxx" >
       <Binding.ValidationRules>
         <v:xxxValidator />
       </Binding.ValidationRules>
     </Binding>
</DataGridTextColumn.Binding>

然后我b:BindValidationResult.HasError="{Binding HasError}"上有DataGrid

BindValidationResult中,我使用Validation.HasErrorProperty侦听validationError已更改。

我的验证规则返回return new ValidationResult(false, "");

我的感觉是,我不会在正确的属性上听DataGridTextColumn,因为如果我使用TextBox做同样的事情,那就像魅力一样。

此外,DataGridCell出现错误时会出现一些红色边框,所以我知道发生了一些事情。

我甚至试过这个,所以看看Validation.HasError是否会改变,但它不会触发。

<Style.Triggers>
 <Trigger Property="Validation.HasError" Value="true">
    <Setter
        Property="ToolTip" 
        Value="{Binding RelativeSource={RelativeSource Self},
        Path=(Validation.Errors)[0].ErrorContent}"/>
    </Trigger>
</Style.Triggers>

如何解决此问题或如何解决问题,将非常感谢任何帮助。

由于

0 个答案:

没有答案