C# 带换行符的编程文本块条目

C# 带换行符的编程文本块条目,c#,windows-store-apps,winrt-xaml,C#,Windows Store Apps,Winrt Xaml,如何以编程方式将带换行符的文本添加到文本块 如果我插入如下文本: helpBlock.Text = "Here is some text. <LineBreak/> Here is <LineBreak/> some <LineBreak/> more."; 因为Add()方法想要接受类型为“inline”的对象 我无法创建内联对象并将其作为参数传递,因为它“由于其保护级别而无法访问: helpBlock.Inlines.Add(new Windows.UI

如何以编程方式将带换行符的文本添加到文本块

如果我插入如下文本:

helpBlock.Text = "Here is some text. <LineBreak/> Here is <LineBreak/> some <LineBreak/> more.";
因为Add()方法想要接受类型为“inline”的对象

我无法创建内联对象并将其作为参数传递,因为它“由于其保护级别而无法访问:

helpBlock.Inlines.Add(new Windows.UI.Xaml.Documents.Inline("More text"));
我看不到以编程方式添加运行的方法

我可以找到很多WPF的例子,但是WinRT没有

我还提供了很多XAML示例,但没有从C#中找到任何示例。

使用environment.NewLine

testText.Text = "Testing 123" + Environment.NewLine + "Testing ABC";

StringBuilder builder = new StringBuilder();
builder.Append(Environment.NewLine);
builder.Append("Test Text");
builder.Append(Environment.NewLine);
builder.Append("Test 2 Text");
testText.Text += builder.ToString();

您可以只传入换行符
\n
而不是

或者在Xaml中,您可以使用换行符的
Hex

 <TextBlock Text="Here is some text. &#x0a; Here is &#x0a; some &#x0a; more."/>

两个结果:


您可以通过编程方式将
\n
转换为

    string text = "This is a line.\nThis is another line.";
    IList<string> lines = text.Split(new string[] { @"\n" }, StringSplitOptions.None);

    TextBlock tb = new TextBlock();
    foreach (string line in lines)
    {
        tb.Inlines.Add(line);
        tb.Inlines.Add(new LineBreak());
    }
string text=“这是一行。\n这是另一行。”;
IList lines=text.Split(新字符串[]{@“\n”},StringSplitOptions.None);
TextBlock tb=新的TextBlock();
foreach(行中的字符串行)
{
tb.Inlines.Add(行);
添加(newlinebreak());
}

解决方案:

我将使用“\n”而不是换行符。最好的方法是这样使用:

Resources.resx文件:

在你们班上:

helpBlock.Text = Resources.myTextline;
这将看起来像:

另一个解决方案是在这里使用Environment.NewLine构建字符串

StringBuilder builder = new StringBuilder();
builder.Append(Environment.NewLine);
builder.Append(Resources.line1);
builder.Append(Environment.NewLine);
builder.Append(Resources.line2);
helpBlock.Text += builder.ToString();
或在此处使用“\n”


我有一个组件XAML

<TextBlock x:Name="textLog" TextWrapping="Wrap" Background="#FFDEDEDE"/>
结果是

Inicio do processamento 2019年8月19日20:31:13

-----------------------------------

我想知道使用\r\n而不是\n是否有好处。我将此标记为最佳答案,因为它非常简单,可能会简化从XML文件加载的过程。
helpBlock.Text = Resources.myTextline;
StringBuilder builder = new StringBuilder();
builder.Append(Environment.NewLine);
builder.Append(Resources.line1);
builder.Append(Environment.NewLine);
builder.Append(Resources.line2);
helpBlock.Text += builder.ToString();
StringBuilder builder = new StringBuilder();
builder.Append("\n");
builder.Append(Resources.line1);
builder.Append("\n");
builder.Append(Resources.line2);
helpBlock.Text += builder.ToString();
<TextBlock x:Name="textLog" TextWrapping="Wrap" Background="#FFDEDEDE"/>
textLog.Inlines.Add("Inicio do processamento " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + Environment.NewLine);
textLog.Inlines.Add("-----------------------------------" + Environment.NewLine);