2016-12-22 1 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 경로 오류 : 'Validation'속성이 'object'에 없습니다. ''PasswordBox '(Name ='txtPassword ')'. BindingExpression : Path = 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가 부착 속성이고 우리는 추가 된 특성을 결합하는 경우가 덮여 있으므로한다().

관련 문제