Export (0) Print
Expand All

TreeWalker.RawViewWalker Field

Represents a predefined TreeWalker containing a view of all the elements in the tree.

Namespace:  System.Windows.Automation
Assembly:  UIAutomationClient (in UIAutomationClient.dll)

public static readonly TreeWalker RawViewWalker

If your client application might try to find elements in its own user interface, you must make all UI Automation calls on a separate thread.

The following example shows ControlViewWalker being used to construct a tree view of elements in a subtree. The usage for RawViewWalker is identical.

/// <summary> 
/// Walks the UI Automation tree and adds the control type of each element it finds  
/// in the control view to a TreeView. 
/// </summary> 
/// <param name="rootElement">The root of the search on this iteration.</param>
/// <param name="treeNode">The node in the TreeView for this iteration.</param>
/// <remarks> 
/// This is a recursive function that maps out the structure of the subtree beginning at the 
/// UI Automation element passed in as rootElement on the first call. This could be, for example, 
/// an application window. 
/// CAUTION: Do not pass in AutomationElement.RootElement. Attempting to map out the entire subtree of 
/// the desktop could take a very long time and even lead to a stack overflow. 
/// </remarks> 
private void WalkControlElements(AutomationElement rootElement, TreeNode treeNode)
{
    // Conditions for the basic views of the subtree (content, control, and raw)  
    // are available as fields of TreeWalker, and one of these is used in the  
    // following code.
    AutomationElement elementNode = TreeWalker.ControlViewWalker.GetFirstChild(rootElement);

    while (elementNode != null)
    {
        TreeNode childTreeNode = treeNode.Nodes.Add(elementNode.Current.ControlType.LocalizedControlType);
        WalkControlElements(elementNode, childTreeNode);
        elementNode = TreeWalker.ControlViewWalker.GetNextSibling(elementNode);
    }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft