我有一个UI自动化应用程序,它是用C#编写的,使用.NET(目前是3.5,但如果4解决了这个问题,我会很乐意改变)。我运行的是英文版的Windows 7。我希望能够在任何给定的UI上运行此应用程序,并使其行为如下,而不管给定的UI是如何设置的,也不管当前的系统语言是什么,因为这些事情通常不在我的控制范围之内:
我想强制使用UI Automation的应用程序使用土耳其语的大写规则。特别是,如果自动化应用程序在包含字符'i‘的UI上运行,我希望UI自动化的部分自动将字符串/字符转换为大写,以将该字符转换为'İ’而不是'I‘。
这对于访问和快捷键来说是一个特别的问题。例如,如果UI中的某个按钮的访问键为'I',则该按钮的UI自动化应用程序中的AutomationElement会将其访问键列为'i‘,这在土耳其语中是不正确的。
我曾尝试将Thread区域性和Thread ui区域性设置为土耳其语,但不起作用。我不确定如何强制AutomationElement类这样做。任何建议/帮助/例子都将不胜感激。
如果这一点不清楚,请让我知道,我会尽量解释得更好。
发布于 2011-06-09 19:11:25
如果你只想让字符串正确地大写,就像这样简单:
string turkish = "iptal";
CultureInfo turkishCulture = new CultureInfo("tr-TR");
string upperCased = turkish.ToUpper(turkishCulture);不幸的是,您必须为每个字符串执行此操作。不幸的是,我不太清楚你的用例是什么,所以我的答案可能不是很有用……
https://stackoverflow.com/questions/6286484
复制相似问题