我正在开发一款Metro app,它在应用程序中提供了更改语言选项。我希望在更改语言文本框输入语言时也能得到改变。它不应该依赖于系统语言。
答案 0 :(得分:0)
首先,您需要确保所需的语言安装在操作系统中,并且它位于安装的输入语言列表中(检查语言和区域设置下控制面板中的语言栏)。如果不在语言栏,添加它.. 例如您想要将应用程序语言更改为“FRENCH”..您需要为要在应用程序中更改的每种语言创建新的资源文件,然后更改当前线程的文化属性。 您熟悉资源文件(.resx)和文化信息类吗?
答案 1 :(得分:0)
我使用这些代码: 首先,您必须找到所需文化语言的名称。 方法" GetInutLanguageByName"将返回您请求的语言 然后,您将检查是否安装了所请求的语言,如果是,则返回所请求的语言。 然后很容易改变输入语言...
private static InputLanguage GetInutLanguageByName(string layOut)
{
foreach (InputLanguage lng in InputLanguage.InstalledInputLanguages)
{
if (lng.Culture.DisplayName == layOut)
{
return lng;
}
}
return null;
}
private void SetKeyboardLayout(InputLanguage Layout)
{
InputLanguage.CurrentInputLanguage = Layout;
}
private void FirstNameTextBox_Enter(object sender, EventArgs e)
{
SetKeyboardLayout(GetInutLanguageByName("Persian"));
}