{DynamicResource {x:Static LocalizableTexts.OpenTextKey}}を使用して
-
05-07-2019 - |
質問
私はLocBamlよりも優れたローカライズアプローチを考え出そうとしています(最悪)。そして、{DynamicResource {x:Static LocalizableTexts.OpenTextKey}}(動的言語は実行時に変更される可能性があるため)のようなものを使用できます。唯一の質問は? LocalizableTexts.OpenTextKeyを正しく作成するにはどうすればよいですか?カスタムRessourceKeysの作成方法と実行時にそれらを更新する方法を教えてくれるチュートリアルがありますか?
私はところでMVVMの世界に住んでいます...
解決
後のコンポーネントリソースキーだと思います。
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}}
所属していません StackOverflow