文字列にバインドされたTextBlockがあります。アプリケーションの現在のUIカルチャに文字列を表示したい。XAMLでこれを実行したいと思います。テキストブロックは以下のように単純です。
<TextBlock Text="{Binding Path=Text}"/>
文字列にバインドされたTextBlockがあります。アプリケーションの現在のUIカルチャに文字列を表示したい。XAMLでこれを実行したいと思います。テキストブロックは以下のように単純です。
<TextBlock Text="{Binding Path=Text}"/>
プロパティを設定する必要がありFrameworkElement.Language
ます。アプリケーション全体でこれを行う最も簡単な方法は、App
クラスの静的コンストラクターでプロパティ メタデータをオーバーライドすることです。
public partial class App : Application
{
static App()
{
FrameworkElement.LanguageProperty.OverrideMetadata(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(
XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
}
}
特定のコントロールのカルチャのみを設定する場合は、そのLanguage
プロパティをデータ コンテキストのプロパティにバインドできます。
<TextBlock Text="{Binding Something}" Language="{Binding TheLanguage}" />