首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

怎么获取控件的AutomationId属性呢

2012-03-29 
如何获取控件的AutomationId属性呢?大家好,问题描述如下:首先,控件定义如下Button x:NamelanWidth18

如何获取控件的AutomationId属性呢?
大家好,问题描述如下:
首先,控件定义如下
<Button x:Name="lan" Width="180" AutomationProperties.AutomationId="buttonId" AutomationProperties.Name="buttonName"/>

现在我编程获取到了Button对象,现在想获取AutomationProperties.AutomationId这个属性的值,即想得到“buttonId”这个值,如何获取到呢?

非常感谢!!!


[解决办法]
你估计是理解错了 AutomationProperties.AutomationId了。
首先,你的需求十分这奇怪。你是要做UI自动化测试吗?
你说你已经获得Button对象了, 是怎么获取的呢?如果你是做自动化测试,并且用的是UIA,那么这个Button应该以一个AutomationElement对象存在。而获取这个对象的过程最好就是通过你在开发时指定的AutomationId这个属性来(当然className,Name也可以,不过唯一的AID最好)获取的。这个AID本应该作为你在自动化测试时查找这个控件的一个条件,而且这个条件是开发时指定好的。而不是做为你查找到这个控件后想要读取的一个属性。当然你也可以获取了:

C# code
AutomationElement myBtn = AutomationElement.RootElement.FindFirst(TreeScope.Children,new PropertyCondition(AutomationElement.IdProperty, "buttonId"));//获得button控件string myBtnId=myBtn.AutomationId.ToString();//获得其AID属性的值//代码我没有调试,根据记忆写的,仅供参考。不过这样做有意义吗? 

热点排行