我已经在代码中创建了一个WPF的TextBlock
,并将其放置在一个Label
中(我的情况不允许使用XAML),如下所示:
Label l = new Label();
TextBlock tb = new TextBlock();
l.Content = tb;
我现在遇到这样一种情况:我需要设置包含换行符的TextBlock
的.Text
属性,例如:
tb.Text = "Hello\nWould you please just work?";
我已经尝试了许多编码方式(如HTML编码、ASCII编码等)和不同的换行组合方式(回车、换行、回车加换行、换行加回车、双换行、双回车等等),但都没有成功。
- 绝对不允许使用XAML。
- 假设原始对象是使用C#代码创建而不是XAML。
- 答案不应该涉及WPF属性的绑定。没有使用绑定。"TextBlock"对象的"Text"属性正在设置。换行符必须在那里插入。
如果这是不可能的,请告诉我如何通过动态替换任意输入字符串中的每个换行符为一个LineBreak
对象(或任何需要的对象)来以编程方式添加换行符。因为输入字符串将具有任意(可读文本)内容,我不能预先知道它们的内容,因为这些字符串是动态(用户定义的)。源字符串将具有换行符(也称为LF,也称为\n
),但我可以轻松地将其替换为任何所需的字符。
此外,如果直接使用Label
比在Label
中的TextBlock
更容易实现,那也很好 - 我可以使用它。我只需要一个具有自动普通文本换行的控件。