我有一个用户控件,它显示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 依赖属性的绑定在第一个代码示例中不起作用,但在第二个代码示例中起作用?
- 如何使
ToolTip
保持打开状态,或者更确切地说如何使ToolTip
两者保持打开状态并显示数据绑定文本?
谢谢!