ViewModel にidataerrorinfoを実装して、バインドされたプロパティの一部を検証しています。次に、次を使用してツールチップを設定し、自動的に表示しようとしています:
<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>
問題は、ツールチップが設定されている間、カーソルを入力の上に置かない限り表示されないことです。検証が失敗したときにツールヒントを自動的に表示したいと思います。
データを検証する多くの方法を考えることができますが、合理化され、簡単に再利用でき、残りのコード (および UI) が乱雑にならないソリューションを探しています。これを行うためのより良い方法がある場合は、私はそれについて聞きたいです。
乾杯