2016-02-27 44 views
0

我有一個帶有兩種語言的UWP應用程序。對於我使用的一些標籤:Loader.GetString("LableName")代碼隱藏,其他代碼使用:XAML中的x:Uid。 用戶可以用一個按鈕這樣的改變CurrentCulture用Xaml x綁定資源:有時候UID不能正常工作

CultureInfo.CurrentCulture = new CultureInfo("fa-IR"); 

第一次完全正常運行的, 但在接下來的時間,單擊該按鈕後,這些標籤已經在後臺代碼綁定將正常工作, 但是那些已經在XAML中綁定了X:Uid,仍然顯示以前的語言資源字符串。

有人可以幫助我嗎?

回答

0

您可以使用按鈕屬性:在必須在方法「button_click」中設置標籤的值後,雙擊該按鈕。

1

WPF,我們使用這樣的應用的窗口元素文化(reference),在您的UWP應用程序中使用它,我希望它幫助:

public MyWindow() 
{  
    this.Language = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag); 
    InitializeComponent(); 
} 

您還可以設置語言全球範圍內爲您的整個在App類中應用:

protected override void OnStartup(StartupEventArgs e) 
{ 
    base.OnStartup(e); 

    // Set application startup culture based on config settings 
    string culture = ConfigurationManager.AppSettings["Culture"]; 
    SetCulture(culture); 
    FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), 
    new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));    
}