[WPF] 特定の条件の時だけToolTipを表示する
TextBlockやButtonにToolTipを設定するのは、プロパティで簡単にできます。
ToolTipをいつも表示するんじゃなくて、ある条件の時のみ表示したい場合、ツールチップ文字列を空にしてもいいですが、Triggerで指定することもできます。
<TextBlock Text="{Binding TestMessage"> <TextBlock.Style> <Style TargetType="TextBlock"> <Setter Property="ToolTipService.IsEnabled" Value="false"/> <Setter Property="ToolTipService.ToolTip" Value="{x:Null}"/> <Style.Triggers> <DataTrigger Binding="{Binding CheckResult}" Value="エラー"> <Setter Property="ToolTipService.IsEnabled" Value="true"/> <Setter Property="ToolTipService.ToolTip" Value="{Binding ErrorMessage}"/> </DataTrigger> </Style.Triggers> </Style> </TextBlock.Style> </TextBlock>
この例ではプロパティCheckResult=”エラー”の時だけ、ツールチップを表示します。
ToolTipプロパティもTriggerでセットしていますが、表示/非表示の切替だけなら不要です。
コードが少し長くなりますが、簡単に実装できます。
== ランキングに参加しています。ぜひクリックお願いします ==
[WPF][C#] CTRL+SHIFTを判断する Oracle12cのsql*loader optionsにerrors=-1を指定するとエラーになる