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 angibt, und den Bezeichner (ID) des Elements, 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 Änderungstyp angibt.
- runtimeId
- Int32[]
Der Laufzeitbezeichner (ID) des Benutzeroberflächenautomatisierung Elements, dessen Struktur sich geändert hat.
Beispiele
Das folgende Beispiel zeigt, wie Sie ein Ereignis erstellen und auslösen, wenn untergeordnete Elemente einem benutzerdefinierten Listenfeld hinzugefügt oder daraus 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 in structureChangeType zurückgegeben werden können, hängen von der Implementierung des Benutzeroberflächenautomatisierung-Anbieters ab. Wenn z. B. Elemente zu einem Win32-Listenfeld hinzugefügt oder daraus entfernt werden, wenn der Anbieter nicht in der Lage ist, die Anzahl der hinzugefügten oder entfernten Elemente zu ermitteln, kann es angeben ChildrenInvalidated und nicht ChildAdded oder .ChildRemoved
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.