我已经覆盖了键处理事件,并在用户按下RichTextBox的Tab键时插入制表符。
当我从RichTextBox保存XAML并重新加载它时,所有选项卡现在都是空格。
有谁知道我可以做些什么来让RichTextBox显示标签?
答案 0 :(得分:0)
我通过临时放置占位符解决了这个问题。
private const string TAB = " ";
private const string TAB_PLACEHOLDER = "===TAB===";
我使用占位符暂时替换所有制表符,然后在RichTextBox中我将所有占位符替换为制表符。
textBox1.Text = richTextBox1.Xaml;
string xaml = richTextBox1.Xaml;
xaml = xaml.Replace(TAB, TAB_PLACEHOLDER);
richTextBox2.Xaml = xaml;
foreach (Block block in richTextBox2.Blocks)
{
foreach (Inline inline in ((Paragraph)block).Inlines)
{
((Run) inline).Text = ((Run) inline).Text.Replace(TAB_PLACEHOLDER, TAB);
}
}