2016-12-22 357 views
0

我使用文本塊控件來顯示如下錯誤。Validation.HasError無法正常工作

<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" /> 

綁定文本屬性工作正常,但綁定不能使用可見性屬性。在輸出窗口中出現錯誤。

BindingExpression path error:在'object''''PasswordBox'(Name ='txtPassword')'找不到'驗證'屬性。 BindingExpression:路徑= Validation.HasError; DataItem ='PasswordBox'(Name ='txtPassword');目標元素是'TextBlock'(Name ='');目標屬性是'可見性'(類型'可見性')

+0

bool? a = txtLoging.GetValue(Validation.HasErrorProperty)爲bool? ;這段代碼在後面的代碼中工作。 – Rudra

+0

您的xaml適合我,請使用代碼隱藏更新您的問題 – lena

回答

0

我的代碼有錯誤。

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

上面的代碼應該如下所示。

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

因爲Validation.HasError是一個附加屬性,當我們綁定附加屬性時,它應該覆蓋()。