如何重置 WPF 控件工具提示?

How can I reset a WPF control Tooltip?

我想我有一个不那么复杂的问题,但我无法解决它,也无法在网上找到解决方案。

我有一些随机的 RichTextBox

<RichTextBox x:Name="myRichTextBox" ToolTipOpening="RichTextBoxEx1_ToolTipOpening" ToolTip=" "></RichTextBox>

我想根据鼠标悬停的单词显示特定的工具提示。我已经有了解决方案。

假设我的 RichTextBox 有这样的文本 "My house is green"。如果我将鼠标悬停在单词 'green' 上,它会显示工具提示 OK,但是如果我需要在单词 'house' 上显示工具提示,我需要将鼠标从 RichTextBox 控件上移开并再次输入。

所以,我要一些 'reset' 的工具提示。比如,当我移动鼠标时,当前的工具提示消失了,我不需要在不取出控件鼠标的情况下等待新的工具提示。

非常感谢。

我通常只是将 ToolTip 属性 设置为 null 并分配一个新的 ToolTip 对象:

element.ToolTip = null;
var tooltip = new ToolTip();
tooltip.Content = ...
element.ToolTip = tooltip;
tooltip.IsOpen = true;
tooltip.StaysOpen = false;

现在要调用此代码,您必须实现某种基于 MouseMove 事件的悬停机制,最好是计时器 - 它不包含在 WPF 中。