TextBox
小さなヘルプアイコンとともにを表示するユーザーコントロールがあります。
私の目標は、ToolTip
ポップアップを表示し、データバインドされたテキストを表示し、マウスをヘルプアイコンの上に置いたときに開いたままにすることです。
そのために、ユーザーコントロールにHelpText依存関係プロパティを作成し、ヘルプテキスト文字列をユーザーコントロールにバインドできるようにしました。
だから、私のユーザーコントロールは次のようになります
<UserControl Name="textField" ...>
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding ElementName=textField,Path=Text}"/>
<Image Source="{StaticResource Help.Icon}">
<Image.ToolTip>
<ToolTip Content="{Binding ElementName=textField,Path=HelpText}"/>
</Image.ToolTip>
</Image>
</StackPanel>
</UserControl>
このコードは、空であることを除いて、ツールチップを示しています。また、ツールチップが数秒後にシャットダウンするため、StaysOpenプロパティは何の違いもありません。
面白いことに、ImageコントロールのToolTipプロパティに同じバインディングを直接設定すると、バインドされたテキストがツールチップポップアップに正しく表示されますが、それでも開いたままにはなりません。
<Image Source="{StaticResource Help.Icon}" ToolTip="{Binding ElementName=textField,Path=HelpText}">
だから私の質問は次のとおりです。
- ユーザーコントロールのHelpText依存関係プロパティに対するバインディングが最初のコードサンプルでは機能しないのに、2番目のコードサンプルでは機能するのはなぜですか?
- 開いたままにする
ToolTip
方法、またはToolTip
両方を開いたままにしてデータバインドされたテキストを表示するにはどうすればよいですか?
ありがとう!