Как установить текущий CultureUI через привязку XAML - PullRequest
2 голосов
/ 17 сентября 2010

У меня TextBlock привязан к строке.Я хочу, чтобы строка отображалась в текущей культуре пользовательского интерфейса приложения.Я хочу сделать это в XAML.Текстовый блок прост, как показано ниже.

<TextBlock Text="{Binding Path=Text}"/>

1 Ответ

2 голосов
/ 17 сентября 2010

Вам необходимо установить свойство 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}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...