2013-10-02 81 views
1

我想通過代碼改變UI語言,而不是依賴手機的語言。 (我在應用程序屬性中選擇支持的語言,也有AppResources.resx爲每種語言)如何以編程方式更改UI語言?

我以爲這裏是在App.XAML.cs文件中的語言變化:

RootFrame.Language = XmlLanguage.GetLanguage(AppResources.ResourceLanguage); 
FlowDirection flow = (FlowDirection)Enum.Parse(typeof(FlowDirection), AppResources.ResourceFlowDirection); 
RootFrame.FlowDirection = flow; 

所以我把它改爲:

RootFrame.Language = XmlLanguage.GetLanguage("de"); 
RootFrame.FlowDirection = FlowDirection.RightToLeft; 

但是,沒有任何反應。只是流向從右向左。

+0

.AppResource.AppResource.Culture =新System.Globalization.CultureInfo( 「DE-DE」); – Jon

回答

1

有一個有用的教程here和源代碼可以下載here

對於總之你可以按照如下

  1. 爲每一種文化創建資源您的應用支持
  2. 修改項目(*.csproj)文件,以支持您所選擇的語言(如果你使用VS 2010和WP做7.1 SDK)
  3. 創建ViewModel類管理資源,並通知當前文化的UI改變
  4. 提供適當的UI線索用戶更改應用程序語言(切換按鈕,列表或類似的東西)
  5. 通過用戶交互更改當前區域性

只記得更改其他綁定模式的東西比OneTime

相關問題