MVVM使用绑定更改文化

时间:2019-02-22 06:27:36

标签: c# .net data-binding culture

我有一个带有英语和阿拉伯语值的下拉列表。当我选择其中任何一个时,它也应该改变文化。众所周知,对于英语,默认情况下我们将使用它。

1.Content ="{x:Static lang:Strings.contactNoNotValid}"

对于阿拉伯语,我们将在上面的代码中添加其阿拉伯语代码。也就是说,

2.Content ="{x:Static lang:Strings.ar.contactNoNotValid}"

这是我想要的,每当我将英语切换为阿拉伯语时,我都希望将代码从1更改为代码2。有人可以帮助我吗?

预先感谢

1 个答案:

答案 0 :(得分:0)

我认为此链接会有所帮助。
更改区域性时,可以使用资源文件切换到与区域性相对应的文本。

说明:https://codinginfinity.me/post/2015-05-10/localization_of_a_wpf_app_the_simple_approach
来源:https://gist.github.com/jakubfijalkowski/0771bfbd26ce68456d3e

XAML

<TextBlock Text="{ex:Loc Foo}"/>

ViewModel

string culture = ""; // or "ar"
TranslationSource.Instance.CurrentCulture = new System.Globalization.CultureInfo(culture);

资源

  • Resources.resx
    • “ Foo”:“你好”
  • Resources.ar.resx
    • “ Foo”:“مرحباهناك”