2011-10-20 46 views
19

WPF XAMLリソースディクショナリでタブと改行文字を使用するにはどうすればよいですか?WPFリソースディクショナリでタブとキャリッジリターン文字を使用する

これは私のために動作しません:私はにfindResource(「test_key」)を介してこれを取得するとき

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
       xmlns:system="clr-namespace:System;assembly=mscorlib" 
       > 

<system:String x:Key="test_Key">Tab doesnt work\tTest\rTest</system:String> 
</ResourceDictionary> 

、両方のタブとキャリッジリターン文字が削除されます。

<system:String x:Key="test_Key" xml:space="preserve">Tab doesnt work&#x09;Test&#x0d;Test</system:String> 

答えて

19

XAMLパーサーは、あなたがこのようなあなたのXMLにxml:space="preserve"を追加避けたい場合(MSDNあたりなど)空白文字の正規化を使用していますJ.Kommerが提案するように空白の正規化を無効にしないかぎり、これは機能しません

+1

'\ t'これは決して特殊文字に変換されません。 uldは実際にタブとキャリッジリターンを書きます。 –

+0

文字列をエンコードされた文字に切り替えるのを忘れてしまいました。 –

+0

ありがとうございましたJ.Kommer。 – AliRezza

19

しかし&#x09;

でそう&#x0d;&#x0a;やタブのように改行を追加します。

+0

注文が「間違っている」ように見えます。これは、改行の後に改行が続きます。 (そして、問題は改行ではなく改行ではない) –

+0

@ H.B。キャリッジリターンは\ r = 13 =#x0dで、改行は\ r \ nですので、私の注文は「正しい」です。 –

+0

そう、混乱してしまった... –

関連する問題