首页 > 解决方案 > 如何从(wpf)RichTextBox中的Run对象显示工具提示/上下文菜单

问题描述

我正在尝试在 RichTextBox 中显示某些单词的工具提示和上下文菜单。使用带有 TextBlock 的内联非常容易。我已经做了:

_textBlock.Inlines.Add(new Bold(new Run("some text") { Foreground = Brushes.Orange, ToolTip = "This is a tooltip", ContextMenu = (contextMenu.Items.Count > 0 ? contextMenu : null) }));

不幸的是,当我为这样的 RichTextBox 做同样的事情时:

var paragraph = new Paragraph();
paragraph.Inlines.Add(new Bold(new Run("some text") { Foreground = Brushes.Orange, ToolTip = "my tooltip doesn't work", ContextMenu = (contextMenu.Items.Count > 0 ? contextMenu : null) }));
_richTextBox.Document.Blocks.Add(paragraph);

它不起作用。右键单击给我剪切/复制/粘贴菜单,并且悬停不起作用。我能做些什么来使它正常工作吗?如果没有,有没有比只检查鼠标位置和动态构建 contextMenu 和 ToolTip 更好的方法?

标签: c#wpfrichtextbox

解决方案


实际上这很简单,只需在 RichTextBox 上设置 IsDocumentEnabled="True" ,如下所示:

<RichTextBox Name="tbTest" IsDocumentEnabled="True"></RichTextBox>

推荐阅读