我使用了一个文本块控件来显示如下错误。
<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 ='');目标属性是“可见性”(类型“可见性”)
答案 0 :(得分:0)
我的代码出错了。
Visibility="{Binding ElementName=txtPassword,Path=Validation.HasError,Converter={StaticResource BoolToVisibilityConverter}}"
以上代码应如下所示。
Visibility="{Binding ElementName=txtPassword,Path=(Validation.HasError),Converter={StaticResource BoolToVisibilityConverter}}"
因为Validation.HasError是附加属性,当我们绑定附加属性时,它应该用()覆盖。