2

リソースローダーから、新しい行を示す'\n'を含むテキストを読み込んでいます。テキストブロックがこのテキストを取得して表示しますが、改行が表示されませんか?また、すべての'\ n'をEnvironment.NewLineに置き換えようとしていますが、何も起こりません。私に何ができる?

ここに少しコードがあります:

        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

\nリソースファイルがエスケープしているように見えます\\n。これは、これを解決するための基本的に2つのソリューションがあることを意味します。

あなたはどちらかをすることができます

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 に答える