[英]Where should I change/set culture info settings in my WPF app and why? (Must works on all .NET frameworks 4.0 and newer)
我正在嘗試為WPF應用程序設置區域性信息,並且找到了一些示例,例如:
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("en-US");
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("en-US");
像這樣:
protected override void OnStartup(StartupEventArgs e)
{
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); ;
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US"); ;
FrameworkElement.LanguageProperty.OverrideMetadata(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(
XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
base.OnStartup(e);
}
什么是實現此目標的正確方法? 我應該在哪里設置呢? 我認為每次打開/加載窗口都設置它不是一個好主意嗎?
我應該在哪里設置呢?
只需打開自動生成的App.xaml.cs
文件並覆蓋OnStartup
方法即可:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); ;
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US"); ;
FrameworkElement.LanguageProperty.OverrideMetadata(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(
XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
base.OnStartup(e);
}
}
當應用程序啟動時,將調用此方法一次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.