Joh*_*urn 10 c# ui-automation winforms
我需要自动化Winform应用程序.如何设置AutomationID(或AutomationName)像本文中的XAML 一样?
从这个堆栈溢出文章看,答案似乎是否定,除非我将应用程序切换到WPF应用程序(因此我可以使用XAML来定义控件).
我尝试过这种天真的方法:
AutomationElement formAutomation = AutomationElement.FromHandle(this.Handle);
formAutomation.Current.Name = "SandboxResponseDialogName";
formAutomation.Current.ClassName = "SandboxResponseDialogClassName";
formAutomation.Current.AutomationId = "SandboxResponseDialogID;
Run Code Online (Sandbox Code Playgroud)
但是在控制构造函数的这一点上,这些Automation属性只有getter; 没有二传手.
如果你想UI Automation在代码中设置任何相关的东西,你需要使用这个:
using System.Windows.Automation;
Run Code Online (Sandbox Code Playgroud)
在你的代码中:
YourObjectClass element = // just get your element.
element.SetValue(AutomationProperties.AutomationIdProperty, "elementAutomationID");
Run Code Online (Sandbox Code Playgroud)
您还可以使用AutomationProperties.NamePropertyUIAutomation 名称。AutomationProperties顾名思义,包含 UIAutomation 元素(setter 和 getter)的所有属性。
| 归档时间: |
|
| 查看次数: |
10865 次 |
| 最近记录: |