2

MSDN のガイドで説明されているように、Windows 8 Metro スタイル アプリをローカライズしようとしています。これはこれまでのところ非常にうまく機能しましたが、現在、XAML ファイルに表示される非改行スペースを含む文字列をローカライズしようとしています (元は 16 進数の xml エスケープ文字列:  )。上記の文字列を Resources.resw ファイルに入れるだけでは機能せず、  のように表示されます。ローカリゼーションで改行しないスペースを確保するにはどうすればよいですか?

4

1 に答える 1

1

�a0 は XML 文字リテラルです。これは、<foo>�a0</foo> の内部テキストが文字列 "\x00a0" と等しいことを意味します。

おそらく最善の方法は、文字列を動的に参照し、置換を実行することです。

var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
var str = loader.GetString('Farewell');
var modstring = str.Replace("&#00a0", "\x00a0");
myControl.Text = modstring;
于 2012-09-01T23:10:40.167 に答える