[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を指定するとエラーになる