我有一個用C#編寫並使用.NET(目前3.5,但如果4解決了問題,我將很樂意改變)的UI自動化應用程序。我使用的是英文版的Windows 7。我希望能夠在任何給定的用戶界面上運行此應用程序,並且無論給定的用戶界面如何設置或當前的系統語言是什麼,它的行爲如下:通常超出我的控制範圍:強制.NET/C#UI自動化使用特定的文化(土耳其語)
我想強制使用UI自動化的應用程序使用土耳其規則進行大小寫。特別是,如果自動化應用程序正在包含字符'i'的UI上運行,我想要自動將UI自動轉換爲大寫字符以將該字符轉換爲'I'而不是'I'的部分。
這對訪問和加速鍵而言尤其是個問題。例如,如果用戶界面中的按鈕具有「我」,因爲它是訪問鍵,那麼UI自動化應用程序中該按鈕的AutomationElement
會將其訪問鍵列爲「I」,這在土耳其語中是不正確的。
我已經嘗試設置線程文化和線程的ui文化土耳其,但不起作用。我不確定如何強制AutomationElement
這樣做。任何建議/幫助/例子將不勝感激。
如果這不清楚,請讓我知道,我會盡力解釋它。
我意識到不幸的是,AutomationElement類在檢索訪問和加速器時自動執行類似於toupper的操作用於UI控件的鍵。我需要獲取UI自動化功能才能在執行字符串操作時使用該規則。 – 2011-06-09 12:41:08
@Scott R:對我來說,這是明顯的錯誤。可能沒有辦法解決它,我們唯一能做的就是將bug報告給他們的跟蹤系統。 – 2011-06-10 06:45:01