本文整理汇总了C#中System.Windows.Automation.AutomationElement.GetUpdatedCache方法的典型用法代码示例。如果您正苦于以下问题:C# AutomationElement.GetUpdatedCache方法的具体用法?C# AutomationElement.GetUpdatedCache怎么用?C# AutomationElement.GetUpdatedCache使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Automation.AutomationElement
的用法示例。
在下文中一共展示了AutomationElement.GetUpdatedCache方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetUpdatedAEWhenStructureChanged
public AutomationElement GetUpdatedAEWhenStructureChanged(AutomationElement mainWidow, AutomationPattern patternToCache = null, AutomationProperty propertyToCache = null)
{
CacheRequest cacheRequest = new CacheRequest();
cacheRequest.TreeScope = TreeScope.Element | TreeScope.Descendants | TreeScope.Children;
cacheRequest.AutomationElementMode = AutomationElementMode.Full;
cacheRequest.TreeFilter = System.Windows.Automation.Automation.RawViewCondition;
if (patternToCache != null)
{
cacheRequest.Add(patternToCache);
}
else
{
cacheRequest.Add(SelectionPattern.Pattern);
cacheRequest.Add(WindowPattern.Pattern);
cacheRequest.Add(InvokePattern.Pattern);
cacheRequest.Add(TogglePattern.Pattern);
cacheRequest.Add(ExpandCollapsePattern.Pattern);
cacheRequest.Add(ValuePattern.Pattern);
cacheRequest.Add(SelectionItemPattern.Pattern);
}
if (propertyToCache != null)
{
cacheRequest.Add(propertyToCache);
}
else
{
cacheRequest.Add(AutomationElement.NameProperty);
cacheRequest.Add(AutomationElement.AutomationIdProperty);
cacheRequest.Add(AutomationElement.ClassNameProperty);
cacheRequest.Add(AutomationElement.ControlTypeProperty);
}
AutomationElement updatedElement;
using (cacheRequest.Activate())
{
updatedElement = mainWidow.GetUpdatedCache(cacheRequest);
}
return updatedElement;
}
示例2: DumpValuesRecursive
private static void DumpValuesRecursive(AutomationElement element, int indent)
{
DumpElement(element.GetUpdatedCache(new CacheRequest()), indent);
foreach (AutomationElement child in element.CachedChildren)
DumpValuesRecursive(child, indent + 2);
}