Вы должны установить 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}" />
Спасибо Томас, но мне нужно сделать это для моей пользовательской библиотеки управления. Мне довелось увидеть, что CultureConverter привязан. Но я не знаю, как использовать это, чтобы установить текущую культуру. Это не свойство зависимостей. :( –
См. Мой обновленный ответ –