Export (0) Print
Expand All

WindowPattern.WindowPatternInformation.CanMaximize Property

Gets a value that specifies whether the AutomationElement can be maximized.

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

public bool CanMaximize { get; }

Property Value

Type: System.Boolean
true if the AutomationElement can be maximized; otherwise false.

In the following example, a WindowPattern control 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;
    }
}

.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