ローカライズされた文字列のリソース辞書があります。コードの背後にあるResourceDictionary
を簡単に識別できるように、プロパティ(例:Tag
)をロケールの名前に設定します。String ResourceDictionaryのロケールを最適に識別するには?
<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"
Tag="de-DE">
<system:String x:Key="Hello">Hallo Welt!</system:String>
</ResourceDictionary>
をしかし、これはXamlParseException
ResourceDictionary.Tag
以来、その結果:(。そうでなければ、私はさまざまな方法で私を傷つけるいくつかの汚れファイル名の解析を、行う)
たとえば、私はこのような何かをしたいと思います存在しない。ここにタグを設定する別の方法はありますか?または、私の目標を達成するためのより良い方法がありますか?ありがとう。
EDIT: 明確にするために、私は、それぞれが特定のロケールのローカライズされた文字列を含む、ResourceDictionary
いくつかのXAMLファイルのディレクトリを持っています。たとえば、ユーザーがロケールをドイツ語に設定すると、私のアプリケーションは前述のディレクトリにXAMLファイル("de-DE.xaml"
)を探し、そのファイルのリソース辞書をロードします。私はこの方法でファイル名に縛られたくない。 Tag
のようなものを使用することには、実際のロケールを決定する前に辞書をロードしなければならないことがあるため、ファイル名解析がその前で勝利するということには不利になります。理想的な(私にとって)解決策は、ファイル名に依存せず、リソースディクショナリをロードする必要もありません。
Woh。いいえ。コードビハインドのタグを知る必要があるのはなぜですか? – MyKuLLSKI
ディクショナリは、コードビハインドでカスタムリソースディクショナリマネージャから読み込まれます。ロケールでリソース辞書を選択/参照する簡単な方法が必要ですが、この関連付けを実装する方法はわかりません。 – user46874
右。これらのResourceDictionariesリソースまたはコンテンツはありますか? – MyKuLLSKI