【问题标题】:How can I preserve tabs in a Silverlight RichTextBox?如何在 Silverlight RichTextBox 中保留选项卡?
【发布时间】:2010-05-06 04:40:47
【问题描述】:

当用户按下 RichTextBox 的制表键时,我已覆盖键处理事件并插入制表符。

当我从 RichTextBox 保存 XAML 并重新加载它时,所有选项卡现在都是空格。

有谁知道我可以做些什么来让 RichTextBox 显示标签?

【问题讨论】:

    标签: silverlight richtextbox tabs


    【解决方案1】:

    我通过临时放置一个占位符来解决这个问题。

    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);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 2011-01-06
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多