我已经尝试了很长一段时间来寻找一种方法来设置仅单个 View 和/或其 View 模型的文化。
到目前为止我用过:
System.Globalization.CultureInfo NewCulture = new System.Globalization.CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = NewCulture;
这给了我相当好的成功。
但是,它设置了整个线程的文化。(我可能没有这个)。
不得触及线程文化。
问题
您是否知道我可以将 View / View 模型的区域性设置为 en-US 的任何其他方法?
它不能设置线程的文化,也不能设置任何其他 View 或其 View 模型的文化,只能设置我选择的 View 和 View 模型。
最佳答案
这取决于您想通过改变文化来实现什么。 FrameworkElement 类有一个 Language 属性,您可以设置该属性来更改元素的语言。例如,它可以用于更改日历的语言/文化和数字的格式:
<Calendar Language="en-US" />
<TextBlock Text="{Binding DecimalValue}" Language="sv-SE" />
您可以在 View 模型的属性中指定语言并绑定(bind)到此:
<TextBlock Text="{Binding Val}" Language="{Binding Language}" />
关于c# - 只设置单个 View 的 Culture,而不是整个程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41138451/