WindowPattern.WindowPatternInformation.WindowVisualState WindowPattern.WindowPatternInformation.WindowVisualState WindowPattern.WindowPatternInformation.WindowVisualState WindowPattern.WindowPatternInformation.WindowVisualState Property

Definition

public:
 property System::Windows::Automation::WindowVisualState WindowVisualState { System::Windows::Automation::WindowVisualState get(); };
public System.Windows.Automation.WindowVisualState WindowVisualState { get; }
member this.WindowVisualState : System.Windows.Automation.WindowVisualState
Public ReadOnly Property WindowVisualState As WindowVisualState

Eigenschaftswert

Beispiele

Im folgenden Beispiel eine WindowPattern Steuerelementmuster aus einer eine AutomationElement und wird anschließend an den visuellen Zustand des verwendet die AutomationElement.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>
''' 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 Function GetWindowPattern(ByVal targetControl As AutomationElement) As WindowPattern
    Dim windowPattern As WindowPattern = Nothing

    Try
        windowPattern = DirectCast( _
        targetControl.GetCurrentPattern(windowPattern.Pattern), _
        WindowPattern)
    Catch
        ' object doesn't support the WindowPattern control pattern
        Return Nothing
    End Try
    ' Make sure the element is usable.
    If False = windowPattern.WaitForInputIdle(10000) Then
        ' Object not responding in a timely manner
        Return Nothing
    End If
    Return windowPattern
End Function 'GetWindowPattern

///--------------------------------------------------------------------
/// <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;
    }
}
'''------------------------------------------------------------------------
''' <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 Sub SetVisualState(ByVal windowPattern As WindowPattern, _
    ByVal visualState As WindowVisualState)
    Try
        If (windowPattern.Current.WindowInteractionState = _
                WindowInteractionState.ReadyForUserInteraction) Then
            Select Case visualState
                Case WindowVisualState.Maximized
                    ' Confirm that the element can be maximized
                    If ((windowPattern.Current.CanMaximize) & _
                            Not (windowPattern.Current.IsModal)) Then
                        windowPattern.SetWindowVisualState( _
                        WindowVisualState.Maximized)
                    End If
                    ' TODO: additional processing
                Case WindowVisualState.Minimized
                    ' Confirm that the element can be minimized
                    If ((windowPattern.Current.CanMinimize) & _
                            Not (windowPattern.Current.IsModal)) Then
                        windowPattern.SetWindowVisualState( _
                        WindowVisualState.Minimized)
                    End If
                    ' TODO: additional processing
                Case WindowVisualState.Normal
                    windowPattern.SetWindowVisualState( _
                    WindowVisualState.Normal)
                Case Else
                    windowPattern.SetWindowVisualState( _
                    WindowVisualState.Normal)
            End Select
            ' TODO: additional processing
        End If
    Catch exc As InvalidOperationException
        ' object is not able to perform the requested action
        Return
    End Try
End Sub 'SetVisualState

Gilt für: