2

我正在从资源加载器加载一个文本,其中包含 '\n' 以指示新行。文本块获取并显示此文本,但我看不到换行符?我也试图用 Environment.NewLine 替换每个 '\n',但没有任何反应。我能做些什么?

这是一点点代码:

        TextBlock text = new TextBlock();
        text.FontSize = 18;

        var str = loader.GetString("AboutText");
        //str.Replace("\n", Environment.NewLine);

        text.Text = str;
        text.TextAlignment = TextAlignment.Justify;
        text.TextWrapping = TextWrapping.Wrap;
        text.Margin = new Thickness(10, 10, 10, 10);
4

2 回答 2

4

看起来 Resource 文件正在转义\n\\n,这意味着基本上有两种解决方案可以解决这个问题。

你可以

var str = Regex.Unescape(loader.GetString("AboutText")); 

或者在您的 resx 文件中,您可以通过按 Shift Enter 将 \n 替换为正常的换行符。

于 2012-10-30T20:40:18.590 回答
1

试试“\r\n”。这个对我有用。

    TextBlock text = new TextBlock();
    text.FontSize = 18;

    var str = "Hello\r\nWorld";

    text.Text = str;
    text.TextAlignment = TextAlignment.Justify;
    text.TextWrapping = TextWrapping.Wrap;
    text.Margin = new Thickness(10, 10, 10, 10);
    layoutRoot.Children.Add(text);
于 2012-10-30T21:29:56.587 回答