如何从(wpf)RichTextBox中的Run对象显示工具提示/上下文菜单

时间:2018-12-10 23:15:52

标签: c# wpf richtextbox

我正在尝试在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更好的方法了?

1 个答案:

答案 0 :(得分:0)

实际上,这非常简单,只需在RichTextBox上设置IsDocumentEnabled =“ True”,如下所示:

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