WPF:richtextbox选项卡问题

时间:2011-08-04 21:30:56

标签: c# wpf flowdocument

我真的很困惑这里发生了什么。我有一个rtb,我有allowTab设置为true,所以用户可以缩进。

问题是,文本前面似乎没有制表符。例如,如果我的文字如下:

this is some text
    and some more text
    and one more line

我想,如果我看一下代码中的文字,它会是这样的:

this is some text \r\n\tand some more text\r\n\tand one more line

但它只是看起来像:

this is some text \r\nand some more text\r\nand one more line (notice there are 
no tabs)

标签对我来说非常重要,因为我需要跟踪线条的“层次结构”,我需要知道线条之前有多少空间。 (空格或制表符(\ t))。当我在代码中查看字符串时,有没有办法可以看到标签空间为\ t?

我应该抓住按键事件,并用空格替换tab键事件吗?多数民众赞成我是如何在winforms项目中做到的,但我认为WPF会有一些巧妙的方法来处理它:)

谢谢!

当我点击标签按钮时,

编辑,是否会更改段落textindent?又说,文本本身没有明显的区别?

1 个答案:

答案 0 :(得分:0)

我不知道你是怎么回来的,但它应该有效,测试:

string text = "this is some text \r\n\tand some more text\r\n\tand one more line";

richTextBox1.AppendText(text);

text = new TextRange(richTextBox1.Document.ContentStart, richTextBox1.Document.ContentEnd).Text;
//text will be the same: "this is some text \r\n\tand some more text\r\n\tand one more line\r\n"