WindowPattern.WindowPatternInformation.WindowInteractionState Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
öğesinin WindowInteractionState öğesini alır AutomationElement.
public:
property System::Windows::Automation::WindowInteractionState WindowInteractionState { System::Windows::Automation::WindowInteractionState get(); };
public System.Windows.Automation.WindowInteractionState WindowInteractionState { get; }
member this.WindowInteractionState : System.Windows.Automation.WindowInteractionState
Public ReadOnly Property WindowInteractionState As WindowInteractionState
Özellik Değeri
öğesinin WindowInteractionState .AutomationElement Running varsayılan değerdir.
Örnekler
Aşağıdaki örnekte, bir WindowPattern denetim deseni'nden AutomationElement alınır ve daha sonra görsel durumunu AutomationElementbelirtmek için kullanılır.
///--------------------------------------------------------------------
/// <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