StructureChangedEventArgs(StructureChangeType, Int32[]) Constructeur
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Initialise une nouvelle instance de la StructureChangeType classe, en spécifiant le type de modification et l’identificateur (ID) de l’élément dont la structure a changé.
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())
Paramètres
- structureChangeType
- StructureChangeType
Valeur unique qui spécifie le type de modification.
- runtimeId
- Int32[]
Identificateur du runtime (ID) de l’élément UI Automation dont la structure a changé.
Exemples
L’exemple suivant montre comment construire et déclencher un événement lorsque les enfants sont ajoutés ou supprimés d’une zone de liste personnalisée.
/// <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
Remarques
Les valeurs qui peuvent être retournées structureChangeType
dépendent de l’implémentation du fournisseur UI Automation. Par exemple, lorsque des éléments sont ajoutés ou supprimés d’une zone de liste Win32, si le fournisseur n’est pas en mesure de déterminer le nombre d’éléments ajoutés ou supprimés, il peut spécifier ChildrenInvalidated et non ChildAdded ou non.ChildRemoved
Le tableau suivant décrit les informations contenues dans l’événement reçu par les StructureChangedEventHandler différentes modifications de structure.
structureChangeType |
Source d’événement | runtimeId |
---|---|---|
ChildAdded | Enfant qui a été ajouté. | Enfant qui a été ajouté. |
ChildRemoved | Parent de l’enfant qui a été supprimé. | Enfant qui a été supprimé. |
ChildrenBulkAdded | Parent des enfants qui ont été ajoutés. | Parent des enfants qui ont été ajoutés. |
ChildrenBulkRemoved | Parent des enfants qui ont été supprimés. | Parent des enfants qui ont été supprimés. |
ChildrenInvalidated | Parent des enfants qui ont été invalidés. | Parent des enfants qui ont été invalidés |
Les contrôles personnalisés peuvent ne pas être en mesure de fournir une valeur significative dans runtimeId
. Pour plus d'informations, consultez RaiseStructureChangedEvent.