我有下面的代碼來更改我的應用程序的語言,但它被證明是不可靠的。我的應用程序由一個MainPage和一組UserControls組成,在創建頁面時加載。當我通過頁面上的按鈕更改語言時,語言是否更改爲50/50。通常,MainPage語言相當可靠地進行更改,但UserControl非常不可靠。我能做些什麼來提高可靠性嗎?更改UWP應用程序的語言是氣質的
下面的方法也會導致頁面重新加載時出現不愉快的閃爍。
如果我在更改語言後重新啓動應用程序,那麼所有內容看起來都應該如此。
string lang = newLanguage;
ApplicationLanguages.PrimaryLanguageOverride = lang;
Windows.ApplicationModel.Resources.Core.ResourceContext.GetForViewIndependentUse().Reset();
Windows.ApplicationModel.Resources.Core.ResourceContext.GetForCurrentView().Reset();
Frame.Navigate(Frame.CurrentSourcePageType, null);
UserControls不會根據您的意願更改語言。你必須重新加載整個頁面。但是,您可以創建一個字符串列表作爲DependencyProperty和x:將其與OneWay模式綁定到XAML中的UserControls。您只需要在您希望更改語言時更改該列表。 –