Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从WPF中的菜单显示用户语言对话框?_C#_Wpf_User Interface_Dialog_Menuitem - Fatal编程技术网

C# 如何从WPF中的菜单显示用户语言对话框?

C# 如何从WPF中的菜单显示用户语言对话框?,c#,wpf,user-interface,dialog,menuitem,C#,Wpf,User Interface,Dialog,Menuitem,我想用用户语言在WPF中打开对话框(保存、打开、打印…) e.g. Command = Application.save 如何找到用户语言? 如何使用该语言打开对话框 菜单和子菜单以正确的语言自动显示 e.g. Command = Application.save 一个样本代码将不胜感激 提前感谢。您可以使用以下语法获取WPF中的用户语言 XmlLanguage language = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.Iet

我想用用户语言在WPF中打开对话框(保存、打开、打印…)

e.g. Command = Application.save
如何找到用户语言? 如何使用该语言打开对话框

菜单和子菜单以正确的语言自动显示

e.g. Command = Application.save
一个样本代码将不胜感激


提前感谢。

您可以使用以下语法获取WPF中的用户语言

XmlLanguage language = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag);

我希望这将对您有所帮助。

您可以使用以下语法获取WPF中的用户语言

XmlLanguage language = XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag);

我希望这对你有帮助。

给这只猫剥皮有很多方法。找到一个看起来适合你和你的项目需求的。我将提供一个我使用的解决方案

如何找到用户语言

一台机器可以有不同的区域性,每个线程甚至可以有自己的区域性。区域性包含显示语言和日期/数字格式信息等

System.Globalization.CultureInfo.CurrentCulture;
System.Globalization.CultureInfo.CurrentUICulture  
为了回答这个问题,您不需要直接访问这些对象

如何使用该语言打开对话框

我使用资源文件(RESX)方法本地化我的项目。 首先,为您想要支持的区域性创建资源文件,再加上一个默认值,如下所示

Resources.resx
Resources.en.resx
Resources.fr.resx
ResourceAccess.ja.resx

如果您想成为特定的使用完整的区域性代码。
参考资料.ja-JP

现在将所有本地化文本添加到参考资料中,默认文本也是这样

当显示语言不属于支持的语言集时,将使用默认值

WPF应用程序将选择windows用户的显示区域性,以选择要使用的RESX文件。
绑定到XAML中的RESX文件

<TextBlock Text="{x:Static properties:Resources.Owner}"/>  
<TextBlock Text="{x:Static properties:Resources.StartDate}" />  
<TextBlock Text="{x:Static properties:Resources.EndDate}"/>  

这里我有三个静态绑定到Resources.Owner StartDate和EndDate属性的文本块。properties关键字不是指定要使用属性,而是指定要使用应用程序的properties组中的Resources对象

如果静态绑定有问题,请检查名称空间是否正确。 请注意,您不应该直接引用任何特定的资源。ResourceManager将处理正确文件的加载。

如果您需要动态语言切换,请查看web上提供的一些优秀的资源全球化教程。

有许多方法可以剥下这只猫的皮。找到一个看起来适合你和你的项目需求的。我将提供一个我使用的解决方案

如何找到用户语言

一台机器可以有不同的区域性,每个线程甚至可以有自己的区域性。区域性包含显示语言和日期/数字格式信息等

System.Globalization.CultureInfo.CurrentCulture;
System.Globalization.CultureInfo.CurrentUICulture  
为了回答这个问题,您不需要直接访问这些对象

如何使用该语言打开对话框

我使用资源文件(RESX)方法本地化我的项目。 首先,为您想要支持的区域性创建资源文件,再加上一个默认值,如下所示

Resources.resx
Resources.en.resx
Resources.fr.resx
ResourceAccess.ja.resx

如果您想成为特定的使用完整的区域性代码。
参考资料.ja-JP

现在将所有本地化文本添加到参考资料中,默认文本也是这样

当显示语言不属于支持的语言集时,将使用默认值

WPF应用程序将选择windows用户的显示区域性,以选择要使用的RESX文件。
绑定到XAML中的RESX文件

<TextBlock Text="{x:Static properties:Resources.Owner}"/>  
<TextBlock Text="{x:Static properties:Resources.StartDate}" />  
<TextBlock Text="{x:Static properties:Resources.EndDate}"/>  

这里我有三个静态绑定到Resources.Owner StartDate和EndDate属性的文本块。properties关键字不是指定要使用属性,而是指定要使用应用程序的properties组中的Resources对象

如果静态绑定有问题,请检查名称空间是否正确。 请注意,您不应该直接引用任何特定的资源。ResourceManager将处理正确文件的加载。
如果您需要动态语言切换,请查看web上提供的一些优秀的资源全球化教程