Aracılığıyla paylaş


StructureChangedEventArgs(StructureChangeType, Int32[]) Oluşturucu

Tanım

Yapısı değişen öğenin değişiklik türünü ve tanımlayıcısını (ID) belirterek sınıfının yeni bir örneğini StructureChangeType başlatır.

public:
 StructureChangedEventArgs(System::Windows::Automation::StructureChangeType structureChangeType, cli::array <int> ^ runtimeId);
public StructureChangedEventArgs (System.Windows.Automation.StructureChangeType structureChangeType, int[] runtimeId);
new System.Windows.Automation.StructureChangedEventArgs : System.Windows.Automation.StructureChangeType * int[] -> System.Windows.Automation.StructureChangedEventArgs
Public Sub New (structureChangeType As StructureChangeType, runtimeId As Integer())

Parametreler

structureChangeType
StructureChangeType

Değişiklik türünü belirten tek bir değer.

runtimeId
Int32[]

Yapısı değişen UI Otomasyonu öğesinin çalışma zamanı tanımlayıcısı (KIMLIK).

Örnekler

Aşağıdaki örnekte, özel liste kutusuna alt öğeler eklendiğinde veya kaldırıldığında bir olayın nasıl oluşturup tetiklendiği gösterilmektedir.

/// <summary>
/// Responds to an addition to the UI Automation tree structure by raising an event.
/// </summary>
/// <param name="list">
/// The list to which the item was added.
/// </param>
/// <remarks>
/// For the runtime Id of the item, pass 0 because the provider cannot know
/// what its actual runtime Id is.
/// </remarks>
public static void OnStructureChangeAdd(CustomListControl list)
{
    if (AutomationInteropProvider.ClientsAreListening)
    {
        int[] fakeRuntimeId = { 0 };
        StructureChangedEventArgs args =
            new StructureChangedEventArgs(StructureChangeType.ChildrenBulkAdded, 
            fakeRuntimeId);
        AutomationInteropProvider.RaiseStructureChangedEvent(
            (IRawElementProviderSimple)list.Provider, args);
    }
}

/// <summary>
/// Responds to a removal from the UI Automation tree structure 
/// by raising an event.
/// </summary>
/// <param name="list">
/// The list from which the item was removed.
/// </param>
/// <remarks>
/// For the runtime Id of the list, pass 0 because the provider cannot know
/// what its actual runtime ID is.
/// </remarks>
public static void OnStructureChangeRemove(CustomListControl list)
{
    if (AutomationInteropProvider.ClientsAreListening)
    {
        int[] fakeRuntimeId = { 0 };
        StructureChangedEventArgs args =
            new StructureChangedEventArgs(StructureChangeType.ChildrenBulkRemoved, 
            fakeRuntimeId);
        AutomationInteropProvider.RaiseStructureChangedEvent(
            (IRawElementProviderSimple)list.Provider, args);
    }
}
''' <summary>
''' Responds to an addition to the UI Automation tree structure by raising an event.
''' </summary>
''' <param name="list">
''' The list to which the item was added.
''' </param>
''' <remarks>
''' For the runtime Id of the item, pass 0 because the provider cannot know
''' what its actual runtime Id is.
''' </remarks>
Public Shared Sub OnStructureChangeAdd(ByVal list As CustomListControl)
    If AutomationInteropProvider.ClientsAreListening Then
        Dim fakeRuntimeId(1) As Integer
        fakeRuntimeId(0) = 0
        Dim args As New StructureChangedEventArgs( _
            StructureChangeType.ChildrenBulkAdded, fakeRuntimeId)
        AutomationInteropProvider.RaiseStructureChangedEvent( _
            CType(list.Provider, IRawElementProviderSimple), args)
    End If

End Sub


''' <summary>
''' Responds to a removal from the UI Automation tree structure by raising an event.
''' </summary>
''' <param name="list">
''' The list from which the item was removed.
''' </param>
''' <remarks>
''' For the runtime Id of the list, pass 0 because the provider cannot know
''' what its actual runtime ID is.
''' </remarks>
Public Shared Sub OnStructureChangeRemove(ByVal list As CustomListControl)
    If AutomationInteropProvider.ClientsAreListening Then
        Dim fakeRuntimeId(1) As Integer
        fakeRuntimeId(0) = 0
        Dim args As New StructureChangedEventArgs( _
            StructureChangeType.ChildrenBulkRemoved, fakeRuntimeId)
        AutomationInteropProvider.RaiseStructureChangedEvent( _
            CType(list.Provider, IRawElementProviderSimple), args)
    End If

End Sub

Açıklamalar

içinde döndürülebilecek structureChangeType değerler, UI Otomasyonu sağlayıcısının uygulanmasına bağlıdır. Örneğin, win32 liste kutusuna öğeler eklendiğinde veya bu kutudan kaldırıldığında, sağlayıcı eklenen veya kaldırılan öğe sayısını belirleyemezse veya ChildRemovedbelirtmeyebilir.ChildrenInvalidated ChildAdded

Aşağıdaki tabloda, tarafından farklı yapı değişiklikleri için alınan StructureChangedEventHandler olaydaki bilgiler açıklanmaktadır.

structureChangeType Olay kaynağı runtimeId
ChildAdded Eklenen çocuk. Eklenen çocuk.
ChildRemoved Kaldırılan çocuğun üst öğesi. Kaldırılan çocuk.
ChildrenBulkAdded Eklenen alt öğelerinin üst öğesi. Eklenen alt öğelerinin üst öğesi.
ChildrenBulkRemoved Kaldırılan çocukların üst öğesi. Kaldırılan çocukların üst öğesi.
ChildrenInvalidated Geçersiz kılınan alt öğelerinin üst öğesi. Geçersiz kılınan alt öğelerinin üst öğesi

Özel denetimler içinde runtimeIdanlamlı bir değer sağlayamayabilir. Daha fazla bilgi için bkz. RaiseStructureChangedEvent.

Şunlara uygulanır

Ayrıca bkz.