1

データベース (nvarchar) にテキストを格納する WPF MVVM アプリケーションがあります。このテキストには\n、改行を示すために含まれています。SQL Management Studio で列を表示する\nと期待どおりに表示されますが、Entity Framework を使用してデータを取得すると元に戻り\\n、プロパティをテキストブロックにバインドしているときに改行が表示されません。

どうすればこの動作を停止できますか?

追加情報: テキストは DB から返され、ビューモデルのプロパティに割り当てられ、テキストブロックにバインドされます。プロパティを "Time\nStamp" のようにハードコーディングすると、データを 2 行に分けて表示するテキストブロックで完全に機能します。問題はエンティティまたは DB にのみあるようです。私はSQLサーバー2012を使用しています。

4

1 に答える 1

2

C# Obeying the NewLine Character in a String Pulled from SQL server から、SQLから文字列を取得すると、データベースに格納されている値はリテラルとして格納されます。が\n取得されると、改行エスケープ文字ではなく、リテラルとして文字列値に読み込まれます。

 str.Replace("\\n", Environment.NewLine); // Changes the escaped new line character to a NewLine character, environmental dependent.
于 2012-12-12T20:57:32.000 に答える