Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
IsTopmostProperty Field

WindowPattern.IsTopmostProperty Field

Identifies the IsTopmost property.

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

public static readonly AutomationProperty IsTopmostProperty

This identifier is used by UI Automation client applications. UI Automation providers should use the equivalent field in WindowPatternIdentifiers.

In the following example, a root element is passed to a function that returns a collection of automation elements that are descendants of the root and satisfy a set of property conditions.

///-------------------------------------------------------------------- 
/// <summary> 
/// Finds all automation elements that satisfy  
/// the specified condition(s). 
/// </summary> 
/// <param name="rootElement">
/// The automation element from which to start searching. 
/// </param> 
/// <returns> 
/// A collection of automation elements satisfying  
/// the specified condition(s). 
/// </returns> 
///-------------------------------------------------------------------- 
private AutomationElementCollection FindAutomationElement(
    AutomationElement rootElement)
{
    if (rootElement == null)
    {
        throw new ArgumentException("Root element cannot be null.");
    }

    PropertyCondition conditionCanMaximize = 
        new PropertyCondition(WindowPattern.CanMaximizeProperty, true);

    PropertyCondition conditionCanMinimize =
        new PropertyCondition(WindowPattern.CanMinimizeProperty, true);

    PropertyCondition conditionIsModal =
        new PropertyCondition(WindowPattern.IsModalProperty, false);

    PropertyCondition conditionIsTopmost =
        new PropertyCondition(WindowPattern.IsTopmostProperty, true);

    PropertyCondition conditionWindowInteractionState =
        new PropertyCondition(
        WindowPattern.WindowInteractionStateProperty, 
        WindowInteractionState.ReadyForUserInteraction);

    PropertyCondition conditionWindowVisualState =
        new PropertyCondition(
        WindowPattern.WindowVisualStateProperty, 
        WindowVisualState.Normal);

    // Use any combination of the preceding condtions to  
    // find the control(s) of interest
    Condition condition = new AndCondition(
        conditionCanMaximize, 
        conditionIsModal, 
        conditionWindowInteractionState);

    return rootElement.FindAll(TreeScope.Descendants, condition); 
}

.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