我在我的ViewModel中實現idataerrorinfo來對我的一些綁定屬性執行驗證。然後我嘗試使用以下方法來設置tooltip並自動顯示它:WPF ToolTip Trigger Not Working
<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'它會轉到Adorned層並且不會影響總體佈局。如果你的遊標強制顯示一個文本框錯誤的工具提示,那麼它實際上位於一個按鈕或UI中的其他位置,所以ToolTip不是很友好。 – Viv