WindowPattern.WindowPatternInformation.IsTopmost Property

Definition

Gets a value that specifies whether the AutomationElement is the topmost element in the z-order.

C#
public bool IsTopmost { get; }

Property Value

true if the AutomationElement is topmost; otherwise false.

Examples

In the following example, an AutomationPropertyChangedEventHandler is defined to listen for changes to the IsTopmostProperty of an AutomationElement.

C#
///--------------------------------------------------------------------
/// <summary>
/// Register for automation property change events of interest.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
///--------------------------------------------------------------------
private void RegisterForPropertyChangedEvents(
    AutomationElement targetControl)
{
    AutomationPropertyChangedEventHandler propertyChangeListener = 
        new AutomationPropertyChangedEventHandler(
        OnTopmostPropertyChange);
    Automation.AddAutomationPropertyChangedEventHandler(
        targetControl, 
        TreeScope.Element, 
        propertyChangeListener, 
        WindowPattern.IsTopmostProperty);
}
C#
///--------------------------------------------------------------------
/// <summary>
/// Register for automation property change events of interest.
/// </summary>
/// <param name="src">Object that raised the event.</param>
/// <param name="e">Event arguments.</param>
///--------------------------------------------------------------------
private void OnTopmostPropertyChange(object src, AutomationPropertyChangedEventArgs e)
{
    // Make sure the element still exists. Elements such as tooltips
    // can disappear before the event is processed.
    AutomationElement sourceElement;
    try
    {
        sourceElement = src as AutomationElement;
    }
    catch (ElementNotAvailableException)
    {
        return;
    }
    
    // Get a WindowPattern from the source of the event.
    WindowPattern windowPattern = GetWindowPattern(sourceElement);
    if (windowPattern.Current.IsTopmost)
    {
        //TODO: event handling
    }
}

Applies to

Product Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10