【发布时间】:2010-05-06 04:40:47
【问题描述】:
当用户按下 RichTextBox 的制表键时,我已覆盖键处理事件并插入制表符。
当我从 RichTextBox 保存 XAML 并重新加载它时,所有选项卡现在都是空格。
有谁知道我可以做些什么来让 RichTextBox 显示标签?
【问题讨论】:
标签: silverlight richtextbox tabs
当用户按下 RichTextBox 的制表键时,我已覆盖键处理事件并插入制表符。
当我从 RichTextBox 保存 XAML 并重新加载它时,所有选项卡现在都是空格。
有谁知道我可以做些什么来让 RichTextBox 显示标签?
【问题讨论】:
标签: silverlight richtextbox tabs
我通过临时放置一个占位符来解决这个问题。
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);
}
}
【讨论】: