小编Cla*_*sen的帖子

在用户控件中获取工具提示以显示数据绑定文本并保持打开状态

我有一个用户控件,显示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>
Run Code Online (Sandbox Code Playgroud)

此代码确实显示了工具提示,但它是空的!此外,StaysOpen属性没有任何区别,因为工具提示在几秒钟后关闭.

有趣的是,当我直接在Image控件的ToolTip属性上设置相同的绑定时,绑定的文本会在工具提示弹出窗口中显示,但它仍然不会保持打开状态:

<Image Source="{StaticResource Help.Icon}" ToolTip="{Binding ElementName=textField,Path=HelpText}">
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:

  1. 为什么绑定到用户控件的HelpText依赖项属性在第一个代码示例中不起作用,但在第二个代码示例中是否有效?
  2. 如何ToolTip保持打开状态,或者如何使ToolTip两者保持打开并显示数据绑定文本?

谢谢!

data-binding wpf user-controls tooltip

1
推荐指数
1
解决办法
3241
查看次数

标签 统计

data-binding ×1

tooltip ×1

user-controls ×1

wpf ×1