WindowPattern.WindowPatternInformation.IsTopmost Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, указывающее, является ли AutomationElement элементом верхнего уровня в z-порядке.
public:
property bool IsTopmost { bool get(); };
public bool IsTopmost { get; }
member this.IsTopmost : bool
Public ReadOnly Property IsTopmost As Boolean
Значение свойства
Значение true
, если AutomationElement является элементом верхнего уровня; в противном случае — значение false
.
Примеры
В следующем примере AutomationPropertyChangedEventHandler определяется для прослушивания изменений IsTopmostPropertyAutomationElementобъекта .
///--------------------------------------------------------------------
/// <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);
}
'''--------------------------------------------------------------------
''' <summary>
''' Register for automation property change events of interest.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
'''--------------------------------------------------------------------
Private Sub RegisterForPropertyChangedEvents( _
ByVal targetControl As AutomationElement)
Dim propertyChangeListener As AutomationPropertyChangedEventHandler = _
New AutomationPropertyChangedEventHandler(AddressOf _
OnTopmostPropertyChange)
Automation.AddAutomationPropertyChangedEventHandler( _
targetControl, _
TreeScope.Element, _
propertyChangeListener, _
WindowPattern.IsTopmostProperty)
End Sub
///--------------------------------------------------------------------
/// <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
}
}
'''--------------------------------------------------------------------
''' <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 Sub OnTopmostPropertyChange(ByVal src As Object, _
ByVal e As AutomationPropertyChangedEventArgs)
' Make sure the element still exists. Elements such as tooltips
' can disappear before the event is processed.
Dim sourceElement As AutomationElement
Try
sourceElement = DirectCast(src, AutomationElement)
Catch exc As ElementNotAvailableException
Return
End Try
' Get a WindowPattern from the source of the event.
Dim windowPattern As WindowPattern = GetWindowPattern(sourceElement)
If (WindowPattern.Current.IsTopmost) Then
'TODO: event handling
End If
End Sub