C# 多语言WPF应用程序

C# 多语言WPF应用程序,c#,wpf,globalization,multilingual,culture,C#,Wpf,Globalization,Multilingual,Culture,我从事多种语言(阿拉伯语和英语)的工作 资源位于两个不同文件(resources.en-GB和resources.ar-LY)中的WPF应用程序, 我在app.xaml中声明了一个新方法 public void LanguageSwitcher(string _currentUICulture) { System.Threading.Thread.CurrentThread.CurrentUICulture =

我从事多种语言(阿拉伯语和英语)的工作 资源位于两个不同文件(resources.en-GB和resources.ar-LY)中的WPF应用程序, 我在app.xaml中声明了一个新方法

public void LanguageSwitcher(string _currentUICulture)
    {
        System.Threading.Thread.CurrentThread.CurrentUICulture =
                                new System.Globalization.CultureInfo(_currentUICulture);
    }
主窗口中初始化组件后,我将

((App)Application.Current).languageSwitcher("ar-LY");

        this.FlowDirection =
            CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft ?
                FlowDirection.RightToLeft :
                FlowDirection.LeftToRight;
在语言切换器按钮中,我调用该方法并传递我想要的en-GB区域性

((App)Application.Current).languageSwitcher("en-GB");
问题:当我点击语言按钮将UI更改为英语时,文化发生了变化,窗口流动方向更改为LeftToRight,但文本没有变化,似乎资源.en GB没有加载


我错过了什么

更改区域性后,需要重新加载每个标签组件。 您可以在更改区域性后尝试打开新窗口,并检查所创建的组件是否已更改。

这可能会有所帮助