내 바운드 속성 중 일부에 대한 유효성 검사를 수행하기 위해 idataerrorinfo을 내 ViewModel에 구현 중입니다. 나는 다음을 보여 자동으로 tooltip을 설정하려면 다음을 사용하려고 :WPF ToolTip 트리거가 작동하지 않습니다.
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self},Path=(Validation.Errors)[0].ErrorContent}"/>
<Setter Property="ToolTip.IsOpen" Value="True"></Setter>
<Setter Property="ToolTip.StaysOpen" Value="True"></Setter>
<Setter Property="ToolTip.Placement" Value="Bottom"></Setter>
</Trigger>
</Style.Triggers>
</Style>
문제는 tooltip 설정하는 동안 내가 입력을 통해 내 커서를하지 않는 한이 나타나지 않는다는 것입니다. 유효성 검사가 실패하면 도구 설명을 자동으로 표시하려고합니다.
나는 데이터의 유효성을 검사하는 여러 가지 방법을 생각할 수 있지만 유선형이며 쉽게 재사용 할 수있는 솔루션을 찾고 있으며 나머지 코드 (및 UI)를 복잡하게하지 않습니다. 더 좋은 방법이있는 경우 이것을하기 위해 이드는 그것에 대해 듣기를 좋아합니다.
건배
왜 'Validation.ErrorTemplate'을 사용하지 않고 장식 된 레이어로 이동하고 일반 레이아웃에는 영향을주지 않습니까? 툴팁은 실제로 버튼이나 UI의 다른 곳에있을 때 커서 강제로 텍스트 상자 오류에 대한 툴팁을 표시하면 매우 친숙하지 않습니다. – Viv