从插件的富文本框中获取选定的文字

问题描述:

我有一个VSTO插件,它有一个菜单和按钮。在我的信息表格中,我有多个用户可编辑的富文本框。在编辑时,如果用户在任何一个富文本框中选择一个单词或句子,然后单击加载项中的按钮,我需要在下拉列表中添加这些选定的文本。从插件的富文本框中获取选定的文字

我怎样才能从富文本框中选择文本?所选内容可能位于任何一个可用的富文本框中,因此我需要知道上下文才能识别富文本框,然后才能获取所选文本。

在你的btn_Clicked事件中,试试这段代码。它应该从鼠标所在的位置抓取文本,并在当前块的结尾处结束。

var curCaret = richTextBox1.CaretPosition; 
var curBlock = richTextBox1.Document.Blocks.Where(x => x.ContentStart.CompareTo(curCaret) == -1 && x.ContentEnd.CompareTo(curCaret) == 1).FirstOrDefault();