2017-10-04 5 views
0

は、だから私はApp.configファイルの設定にこのようなものがあります:私のラベルがApp.configファイルからの新しい行( " n")を無視するのはなぜですか?

<configuration> 
    <appSettings> 
     <add key="Description" value="My too long of a\n description that needs\n new lines so the entire\n thing can be seen."/> 
    </appSettings> 
</configuration> 

を今、実行時に、私は、Appにあるこれらの多くの説明の一つにLabelTextプロパティを変更する必要があります。設定ファイル。新しい行の文字をApp.configに含めると、Labelは新しい行の文字であることを無視し、文字通りそのまま出力します。しかし、これらの改行文字を削除して実行時に挿入すると、Labelはそれを認識し、新しい行を挿入する必要があります。

私の質問は、なぜですか?なぜLabelはそれらを無視してApp.configから来たものかを文字通り出力しますか? Windowsシステムだけではなく、改行に

myLabel.Text = ConfigurationManager.AppSettings["Description"]; 
+1

'\ n'はC#の文字列リテラルとして' \ xa \ xd'を表しますが、そのxamlではまだ2文字です。 – Sinatr

+1

[XMLで改行/改行タグを追加する](https://stackoverflow.com/questions/10917555/adding-a-newlineline-break-tag-in-xml) – Sinatr

+0

あなたはそうです重複しています。それを私に指摘してくれてありがとう! @Sinatr –

答えて

1

私は\r\n(復帰、改行)を期待する:

はApp.configファイルからこの記述を使用するには、これはすべて私がやっています。あなたがXMLのエスケープシーケンスをしたいので、どのような場合には、App.configファイルは、XMLです:

&#xD;&#xA; 
1

あなたがXMLで"\n"を維持したい場合は、簡単な修正(明確にするため?):

myLabel.Text = ConfigurationManager.AppSettings["Description"].Replace("\\n","\xa\xd"); 
関連する問題