AutomationProperty 類別

定義

識別 AutomationElement 的屬性。

public ref class AutomationProperty : System::Windows::Automation::AutomationIdentifier
public class AutomationProperty : System.Windows.Automation.AutomationIdentifier
type AutomationProperty = class
    inherit AutomationIdentifier
Public Class AutomationProperty
Inherits AutomationIdentifier
繼承
AutomationProperty

範例

下列範例會新增屬性變更的事件處理常式,而處理常式會檢查 Property 事件引數的成員,以判斷已變更的屬性。


AutomationPropertyChangedEventHandler propChangeHandler;
/// <summary>
/// Adds a handler for property-changed event; in particular, a change in the enabled state.
/// </summary>
/// <param name="element">The UI Automation element whose state is being monitored.</param>
public void SubscribePropertyChange(AutomationElement element)
{
    Automation.AddAutomationPropertyChangedEventHandler(element, 
        TreeScope.Element, 
        propChangeHandler = new AutomationPropertyChangedEventHandler(OnPropertyChange),
        AutomationElement.IsEnabledProperty);
}

/// <summary>
/// Handler for property changes.
/// </summary>
/// <param name="src">The source whose properties changed.</param>
/// <param name="e">Event arguments.</param>
private void OnPropertyChange(object src, AutomationPropertyChangedEventArgs e)
{
    AutomationElement sourceElement = src as AutomationElement;
    if (e.Property == AutomationElement.IsEnabledProperty)
    {
        bool enabled = (bool)e.NewValue;
        // TODO: Do something with the new value. 
        // The element that raised the event can be identified by its runtime ID property.
    }
    else
    { 
        // TODO: Handle other property-changed events.
    }
}

public void UnsubscribePropertyChange(AutomationElement element)
{
    if (propChangeHandler != null)
    {
        Automation.RemoveAutomationPropertyChangedEventHandler(element, propChangeHandler);
    }
}

Dim propChangeHandler As AutomationPropertyChangedEventHandler

''' <summary>
''' Adds a handler for property-changed event; in particular, a change in the enabled state.
''' </summary>
''' <param name="element">The UI Automation element whose state is being monitored.</param>
Public Sub SubscribePropertyChange(ByVal element As AutomationElement)
    propChangeHandler = _
        New AutomationPropertyChangedEventHandler(AddressOf OnPropertyChange)
    Automation.AddAutomationPropertyChangedEventHandler(element, TreeScope.Element, _
        propChangeHandler, AutomationElement.IsEnabledProperty)

End Sub



''' <summary>
''' Handler for property changes.
''' </summary>
''' <param name="src">The source whose properties changed.</param>
''' <param name="e">Event arguments.</param>
Private Sub OnPropertyChange(ByVal src As Object, ByVal e As AutomationPropertyChangedEventArgs) 
    Dim sourceElement As AutomationElement = DirectCast(src, AutomationElement)
    If e.Property Is AutomationElement.IsEnabledProperty Then
        Dim enabled As Boolean = CBool(e.NewValue)
        ' TODO: Do something with the new value. 
        ' The element that raised the event can be identified by its runtime ID property.
    Else
    End If
 ' TODO: Handle other property-changed events.
End Sub


Public Sub UnsubscribePropertyChange(ByVal element As AutomationElement)
    If (propChangeHandler IsNot Nothing) Then
        Automation.RemoveAutomationPropertyChangedEventHandler(element, propChangeHandler)
    End If

End Sub

備註

這個類別會識別屬性,而不是屬性的值。 此類型的靜態物件可做為 和 控制項模式類別的欄位 AutomationElement

屬性

Id

取得基礎數值識別項。

(繼承來源 AutomationIdentifier)
ProgrammaticName

取得註冊的程式設計名稱。

(繼承來源 AutomationIdentifier)

方法

CompareTo(Object)

將此 AutomationIdentifier 與另一個 AutomationIdentifier 比較。

(繼承來源 AutomationIdentifier)
Equals(Object)

傳回的值表示提供的 AutomationIdentifier 是否相當於這個 AutomationIdentifier

(繼承來源 AutomationIdentifier)
GetHashCode()

傳回這個消費者介面自動化識別碼的雜湊碼。

(繼承來源 AutomationIdentifier)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
LookupById(Int32)

擷取一個可以封裝指定之數值識別項的 AutomationProperty

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

另請參閱