2009-06-16 6 views
0

私はLocBamlよりも優れたローカリゼーションアプローチを考え出しています。そして、私は{DynamicResource {x:Static LocalizableTexts.OpenTextKey}}(実行時に言語が変わる可能性があるため、dynamicresource)のようなものを使用することができます。唯一の問題は? LocalizableTexts.OpenTextKeyを正しく作成するにはどうすればよいですか?カスタムのRessourceKeysを作成する方法と実行時にそれらを更新する方法を教えることができるチュートリアルはありますか?私は途中でMVVMの世界に住んでいusing {DynamicResource {x:Static LocalizableTexts.OpenTextKey}}

...

答えて

0

は、私はあなたの後のコンポーネントリソースキーを考えます。 XAMLリソースディクショナリにあなたのリソースを定義することによって

スタート、のようなもの:

<local:OpenText x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type local:LocalizableTexts}, ResourceId=OpenText}" /> 

はその後、静的アクセサクラスを作成します。

public static class LocalizableTexts 
{ 
    public static ComponentResourceKey OpenTextKey 
    { 
     get { return new ComponentResourceKey(typeof(LocalizableTexts), "OpenText"); } 
    } 
} 

は、最後にあなたが使用するときは、XML名前空間を示していることを確認し静的バインディング:

{DynamicResource {x:Static local:LocalizableTexts.OpenTextKey}}