StructureChangedEventArgs(StructureChangeType, Int32[]) Konstruktor
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der StructureChangeType Klasse, die den Änderungstyp und die ID des Elements angibt, dessen Struktur geändert wurde.
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())
Parameter
- structureChangeType
- StructureChangeType
Ein einzelner Wert, der den Typ der Änderung angibt.
- runtimeId
- Int32[]
Der Laufzeitbezeichner (ID) des Benutzeroberflächenautomatisierung Elements, dessen Struktur geändert wurde.
Beispiele
Das folgende Beispiel zeigt, wie Sie ein Ereignis erstellen und auslösen, wenn untergeordnete Elemente einem benutzerdefinierten Listenfeld hinzugefügt oder entfernt werden.
/// <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
Hinweise
Die Werte, die zurückgegeben structureChangeType
werden können, hängen von der Implementierung des Benutzeroberflächenautomatisierung-Anbieters ab. Wenn z. B. Elemente aus einem Win32-Listenfeld hinzugefügt oder entfernt werden, kann der Anbieter die Anzahl der hinzugefügten oder entfernten Elemente nicht ermitteln, möglicherweise angeben ChildrenInvalidated und nicht oder ChildRemovednichtChildAdded.
In der folgenden Tabelle werden die Informationen im Ereignis beschrieben, das von den StructureChangedEventHandler verschiedenen Strukturänderungen empfangen wird.
structureChangeType |
Ereignisquelle | runtimeId |
---|---|---|
ChildAdded | Das untergeordnete Element, das hinzugefügt wurde. | Das untergeordnete Element, das hinzugefügt wurde. |
ChildRemoved | Das übergeordnete Element des untergeordneten Elements, das entfernt wurde. | Das untergeordnete Element, das entfernt wurde. |
ChildrenBulkAdded | Das übergeordnete Element der untergeordneten Elemente, die hinzugefügt wurden. | Das übergeordnete Element der untergeordneten Elemente, die hinzugefügt wurden. |
ChildrenBulkRemoved | Das übergeordnete Element der untergeordneten Elemente, die entfernt wurden. | Das übergeordnete Element der untergeordneten Elemente, die entfernt wurden. |
ChildrenInvalidated | Das übergeordnete Element der untergeordneten Elemente, die ungültig wurden. | Das übergeordnete Element der untergeordneten Elemente, die ungültig wurden |
Benutzerdefinierte Steuerelemente können möglicherweise keinen aussagekräftigen Wert in runtimeId
. Weitere Informationen finden Sie unter RaiseStructureChangedEvent.