Export (0) Print
Expand All

WindowPattern.WindowPatternInformation.WindowInteractionState Property

Gets the WindowInteractionState of the AutomationElement.

Namespace: System.Windows.Automation
Assembly: UIAutomationClient (in uiautomationclient.dll)
XML Namespace:  http://schemas.microsoft.com/winfx/2006/xaml/presentation

public WindowInteractionState WindowInteractionState { get; }
/** @property */
public WindowInteractionState get_WindowInteractionState ()

public function get WindowInteractionState () : WindowInteractionState

Not applicable.

Property Value

The WindowInteractionState of the AutomationElement. The default value is Running.

In the following example, a WindowPatterncontrol pattern is obtained from an AutomationElement and is subsequently used to specify the visual state of the AutomationElement.

    ///--------------------------------------------------------------------
    /// <summary>
    /// Obtains a WindowPattern control pattern from an automation element.
    /// </summary>
    /// <param name="targetControl">
    /// The automation element of interest.
    /// </param>
    /// <returns>
    /// A WindowPattern object.
    /// </returns>
    ///--------------------------------------------------------------------
    private WindowPattern GetWindowPattern(AutomationElement targetControl)
    {
        WindowPattern windowPattern = null;

        try
        {
            windowPattern =
                targetControl.GetCurrentPattern(WindowPattern.Pattern)
                as WindowPattern;
        }
        catch (InvalidOperationException)
        {
            // object doesn't support the WindowPattern control pattern
            return null;
        }
        // Make sure the element is usable.
        if (false == windowPattern.WaitForInputIdle(10000))
        {
            // Object not responding in a timely manner
            return null;
        }
        return windowPattern;
    }

...

    ///--------------------------------------------------------------------
    /// <summary>
    /// Calls the WindowPattern.SetVisualState() method for an associated 
    /// automation element.
    /// </summary>
    /// <param name="windowPattern">
    /// The WindowPattern control pattern obtained from
    /// an automation element.
    /// </param>
    /// <param name="visualState">
    /// The specified WindowVisualState enumeration value.
    /// </param>
    ///--------------------------------------------------------------------
    private void SetVisualState(WindowPattern windowPattern, 
        WindowVisualState visualState)
    {
        try
        {
            if (windowPattern.Current.WindowInteractionState ==
                WindowInteractionState.ReadyForUserInteraction)
            {
                switch (visualState)
                {
                    case WindowVisualState.Maximized:
                        // Confirm that the element can be maximized
                        if ((windowPattern.Current.CanMaximize) && 
                            !(windowPattern.Current.IsModal))
                        {
                            windowPattern.SetWindowVisualState(
                                WindowVisualState.Maximized);
                            // TODO: additional processing
                        }
                        break;
                    case WindowVisualState.Minimized:
                        // Confirm that the element can be minimized
                        if ((windowPattern.Current.CanMinimize) &&
                            !(windowPattern.Current.IsModal))
                        {
                            windowPattern.SetWindowVisualState(
                                WindowVisualState.Minimized);
                            // TODO: additional processing
                        }
                        break;
                    case WindowVisualState.Normal:
                        windowPattern.SetWindowVisualState(
                            WindowVisualState.Normal);
                        break;
                    default:
                        windowPattern.SetWindowVisualState(
                            WindowVisualState.Normal);
                        // TODO: additional processing
                        break;
                }
            }
        }
        catch (InvalidOperationException)
        {
            // object is not able to perform the requested action
            return;
        }
    }

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0

Community Additions

ADD
Show:
© 2014 Microsoft