我创建了一个WPF TextBlock内Label 的代码(XAML是不可能在我的情况),如下所示:
Label l = new Label();
TextBlock tb = new TextBlock();
l.Content = tb;
Run Code Online (Sandbox Code Playgroud)
然后我来到一个需要设置包含新行的.Text属性的情况TextBlock,例如:
tb.Text = "Hello\nWould you please just work?";
Run Code Online (Sandbox Code Playgroud)
我已经尝试了各种换行组合的多种编码(HTML编码,ASCII编码等)(回车,换行,回车加换行,换行加回车,双换行,双回车等等... ad nauseum).
如果这是不可能的,请告诉我如何以编程方式添加换行符,方法是将任意输入中的每个换行符动态替换String为一个LineBreak对象(或任何使其工作所需的内容).输入String将具有我无法预先预测的任意(可读文本)内容,因为文本本身是动态的(用户定义的); 源字符串将具有换行符(aka LF,aka \n)但我可以轻松地用所需的任何内容替换它.
另外,如果是更容易被做到这一点Label直接,而不是TextBlock在一个Label,那也不错-我可以使用.我只需要一个带有自动纯文本换行的控件.
met*_*bed 14
你有几个选择:
使用该Environment.NewLine属性:
TextBlock tb = new TextBlock();
tb.Text = "Hello" + Environment.NewLine + "Would you please just work?";
Run Code Online (Sandbox Code Playgroud)
或者,手动将Runs和LineBreaks 添加到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?"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11042 次 |
| 最近记录: |