我们可以调用通过AutomationElement.GetCachedPattern和AutomationElement.GetCurrentPattern这两种方法获取元素的control pattern。
我们也可以使用GetSupportedPatterns或者特定的IsPatternAvailableproperty(IsTextPatternAvailableProperty)两种方法来查看元素支持的control pattern.
下面是使用函数的例子
PropertyCondition cond =newPropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);
targetTextPattern = textProvider.GetCurrentPattern(TextPattern.Pattern)asTextPattern;
if(targetTextPattern ==null)
{ Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");return;}
上面介绍了如果获取到不同的控件模型,获取到控件模型后,不同的控件模型的操作方法各异,详见下面这篇博客,详细阐述了不同的控件模型的操作方法。
http://www.cnblogs.com/kangyi/tag/UI%20Automation/