作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Label
in code 中创建了一个 WPF TextBlock
(XAML 在我的情况下是不可能的)如下:
Label l = new Label();
TextBlock tb = new TextBlock();
l.Content = tb;
然后我遇到了一种情况,我需要设置 TextBlock
的 .Text
属性包含一个新行,例如:
tb.Text = "Hello\nWould you please just work?";
我已经尝试了各种换行组合(回车、换行、回车加换行、换行加回车、双换行、双回车等)的多种编码(HTML编码、ASCII编码等)。恶心)。
如果这是不可能的,请告诉我如何通过将任意输入 String
中的每个换行符动态替换为 LineBreak
对象(或其他任何对象)来以编程方式添加换行符需要让这个工作)。输入的 String
将包含我无法提前预料的任意(可读文本)内容,因为文本本身是动态的(用户定义的);源字符串将具有换行符(又名 LF,又名 \n
),但我可以轻松地将其替换为所需的任何内容。
此外,如果直接使用 Label
而不是 Label
中的 TextBlock
更容易做到这一点,那也很好 - - 我可以用那个。我只需要一个带有自动纯文本换行的控件。
最佳答案
你有几个选择:
使用 Environment.NewLine
属性:
TextBlock tb = new TextBlock();
tb.Text = "Hello" + Environment.NewLine + "Would you please just work?";
或者,手动添加 Run
和 LineBreak
到 TextBlock
:
TextBlock tb = new TextBlock();
tb.Inlines.Add(new Run("Hello"));
tb.Inlines.Add(new LineBreak());
tb.Inlines.Add(new Run("Would you please just work?"));
关于c# - 如何在没有 XAML 的情况下将换行符插入 TextBlock?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24130980/
我是一名优秀的程序员,十分优秀!