1

我想自己通过代码更改 UI 语言,而不是依赖手机的语言。(我在应用程序属性中选择了支持的语言,并且AppResources.resx每种语言都有)

我认为这是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;

但是,什么也没有发生。只是流动方向从右到左。

4

1 回答 1

1

这里有一个有用的教程,源代码可以在这里下载。

简而言之,您可以按以下方式进行

  1. 为您的应用支持的每种文化创建资源
  2. 修改您的项目 ( *.csproj) 文件以支持您选择的语言(如果您使用 VS 2010 和 WP 7.1 SDK)
  3. 创建ViewModel管理资源并通知 UI 当前文化变化的类
  4. 为用户提供适当的 UI 线索以更改应用程序语言(切换按钮、列表或类似的东西)
  5. 在用户交互时改变当前文化

只要记住改变绑定模式以外的东西OneTime

于 2013-11-16T11:12:37.843 回答