2010-09-17 32 views

回答

2

您需要设置FrameworkElement.Language属性。要做到这一点整个应用程序最简单的方法是重写属性元数据在App类的静态构造函数:

public partial class App : Application 
{ 
    static App() 
    { 
     FrameworkElement.LanguageProperty.OverrideMetadata(
      typeof(FrameworkElement), 
      new FrameworkPropertyMetadata(
       XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag))); 
    } 
} 

如果你只是想设置文化特定的控制,你可以将其Language属性绑定到你的datacontext属性:

<TextBlock Text="{Binding Something}" Language="{Binding TheLanguage}" /> 
+0

谢谢托马斯,但是,我需要为我的自定义控制库做到这一点。我碰巧看到了CultureConverter的绑定。但是,我不知道如何使用它来设定当前的文化。它不是依赖项属性。 :( – 2010-09-17 12:28:18

+0

查看我更新的答案 – 2010-09-17 12:55:03

相关问题