【问题标题】:Change current thread culture in UWP applications在 UWP 应用程序中更改当前线程区域性
【发布时间】:2019-05-20 16:18:07
【问题描述】:

UWP 应用程序中,我想像这样更改新创建线程的文化:

private  void btnRun_Click(object sender, RoutedEventArgs e)
{
    newThread = new Thread(new ThreadStart(TestMethod));
    newThread.Start();
}

private void TestMethod()
{
    Thread.CurrentThread.CurrentCulture = new CultureInfo("fa-IR");
}

在线程方法主体中设置CurrentCulture 属性会导致所有应用程序线程文化(还有UI 线程)发生变化。

此问题仅在UWP 应用程序中出现,在其他类型的 .net 项目中正常。

【问题讨论】:

  • 这个问题有很多 个重复项,很难选出最好的。让我们带你here,关注它以备将来改进。
  • 您终于找到任何好的解决方案/解决方法了吗?我正在为这个问题而绞尽脑汁。
  • 没有好的解决方案,我通过代码中的某些条件在文化之间切换。

标签: c# uwp currentculture


【解决方案1】:

我在 Xamarin.Forms 中使用 UWP,所以我的解决方法如下:

在 App.xaml.cs 中的 OnLauncechd 方法中,我编写了以下代码:

            CultureInfo ci = new CultureInfo("en-GB");
            Thread.CurrentThread.CurrentCulture = ci;
            Thread.CurrentThread.CurrentUICulture = ci;
            ApplicationLanguages.PrimaryLanguageOverride = "en-GB";
            Windows.ApplicationModel.Resources.Core.ResourceContext.GetForCurrentView().Reset();
            Windows.ApplicationModel.Resources.Core.ResourceContext.GetForViewIndependentUse().Reset();

万一它不起作用,我也在 MainPage.xaml.cs 中做:

 public sealed partial class MainPage
    {
        public MainPage()
        {


            this.Loaded += (sender, args) => {

                SetEnGbCulture();

            };
        }

        public void SetEnGbCulture()
        {
            CultureInfo ci = new CultureInfo("en-GB");
            Thread.CurrentThread.CurrentCulture = ci;
            Thread.CurrentThread.CurrentUICulture = ci;
            ApplicationLanguages.PrimaryLanguageOverride = "en-GB";
            Windows.ApplicationModel.Resources.Core.ResourceContext.GetForCurrentView().Reset();
            Windows.ApplicationModel.Resources.Core.ResourceContext.GetForViewIndependentUse().Reset();

        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2011-01-16
    • 2019-03-22
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多