StructureChangedEventArgs(StructureChangeType, Int32[]) Constructor
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Initialiseert een nieuw exemplaar van de StructureChangeType klasse, waarbij het type wijziging en de id (ID) van het element waarvan de structuur is gewijzigd, wordt opgegeven.
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())
Parameters
- structureChangeType
- StructureChangeType
Eén waarde die het type wijziging aangeeft.
- runtimeId
- Int32[]
De runtime-id (ID) van het UI Automation-element waarvan de structuur is gewijzigd.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een gebeurtenis maakt en genereert wanneer onderliggende items worden toegevoegd aan of verwijderd uit een aangepaste keuzelijst.
/// <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
Opmerkingen
De waarden die kunnen worden geretourneerd in structureChangeType zijn afhankelijk van de implementatie van de UI Automation-provider. Wanneer items bijvoorbeeld worden toegevoegd aan of verwijderd uit een Win32-keuzelijst, als de provider niet in staat is om het aantal toegevoegde of verwijderde items te bepalen, kan dit opgeven ChildrenInvalidated en nietChildAdded.ChildRemoved
In de volgende tabel worden de gegevens beschreven in de gebeurtenis die door de StructureChangedEventHandler verschillende structuurwijzigingen is ontvangen.
structureChangeType |
Gebeurtenisbron | runtimeId |
|---|---|---|
| ChildAdded | Het kind dat is toegevoegd. | Het kind dat is toegevoegd. |
| ChildRemoved | Het bovenliggende item dat is verwijderd. | Het kind dat is verwijderd. |
| ChildrenBulkAdded | De bovenliggende van de onderliggende items die zijn toegevoegd. | De bovenliggende van de onderliggende items die zijn toegevoegd. |
| ChildrenBulkRemoved | Het bovenliggende item van de onderliggende items die zijn verwijderd. | Het bovenliggende item van de onderliggende items die zijn verwijderd. |
| ChildrenInvalidated | De bovenliggende van de kinderen die ongeldig zijn geworden. | Het bovenliggende item van de onderliggende items die ongeldig zijn |
Aangepaste besturingselementen kunnen mogelijk geen zinvolle waarde opgeven in runtimeId. Zie RaiseStructureChangedEvent voor meer informatie.