Ia 有 RichTextBox,其内容定义如下:
<FlowDocument>
<Paragraph x:Name="para">
<Label Padding="0,0,0,0" Margin="0,0,0,0">
<Hyperlink Click="Hyperlink_Click">
<Run Text="{Binding Txt}" x:Name="rxm" />
</Hyperlink>
</Label>
<Label Padding="0,0,0,0" Margin="0,0,0,0" FontWeight="Bold" Content=" - " />
<Label Padding="0,0,0,0" Margin="0,0,0,0" FontWeight="Bold" x:Name="name" Content="Some name"
ToolTipService.ShowDuration="10000">
<Label.ToolTip>
<ContentControl Content="Tooltip" />
</Label.ToolTip>
</Label>
</Paragraph>
</FlowDocument>
问题是我无法正确获取选定的文本。我得到的空白很少。因此,我尝试至少使用以下代码检索所有 FlowDocument 的文本:
TextRange tr = new TextRange(
doc.Selection.Start,
doc.Selection.End);
MemoryStream ms = new MemoryStream();
tr.Save(ms, DataFormats.Xaml);
string xamlString =
ASCIIEncoding.Default.GetString(ms.ToArray());
事实证明,我只运行了几次,每个运行都有空白:
<Section xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ... <Paragraph>
<Run> </Run>
<Run> </Run>
<Run> </Run>
<Run> </Run>
<Run> </Run>
</Paragraph>
看起来“文档”视图与视觉视图完全不同,尽管我不知道为什么这些运行是空的。有人知道如何正确获取所选文本(即使没有任何格式)?任何帮助表示赞赏