Validation.HasError无法绑定

时间:2016-12-22 10:57:05

标签: wpf xaml

我使用了一个文本块控件来显示如下错误。

<TextBlock Text="{Binding ElementName=txtPassword, Path=(Validation.Errors)[0].ErrorContent}" 
               Visibility="{Binding ElementName=txtPassword,Path=Validation.HasError,Converter={StaticResource BoolToVisibilityConverter}}"
               Foreground="Red" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Left" />

使用text属性绑定工作正常,但绑定不适用于visibility属性。我在输出窗口中遇到错误。

BindingExpression路径错误:'object'''PasswordBox'(Name ='txtPassword')'上找不到'Validation'属性。 BindingExpression:路径= Validation.HasError; DataItem ='PasswordBox'(Name ='txtPassword'); target元素是'TextBlock'(Name ='');目标属性是“可见性”(类型“可见性”)

1 个答案:

答案 0 :(得分:0)

我的代码出错了。

Visibility="{Binding ElementName=txtPassword,Path=Validation.HasError,Converter={StaticResource BoolToVisibilityConverter}}"

以上代码应如下所示。

Visibility="{Binding ElementName=txtPassword,Path=(Validation.HasError),Converter={StaticResource BoolToVisibilityConverter}}"

因为Validation.HasError是附加属性,当我们绑定附加属性时,它应该用()覆盖。