StructureChangedEventArgs(StructureChangeType, Int32[]) Construtor
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa uma nova instância da StructureChangeType classe, especificando o tipo de alteração e o identificador (ID) do elemento cuja estrutura foi alterada.
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())
Parâmetros
- structureChangeType
- StructureChangeType
Um valor único que especifica o tipo de alteração.
- runtimeId
- Int32[]
O identificador de runtime (ID) do elemento Automação da Interface do Usuário cuja estrutura foi alterada.
Exemplos
O exemplo a seguir mostra como construir e gerar um evento quando as crianças são adicionadas ou removidas de uma caixa de listagem personalizada.
/// <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
Comentários
Os valores que podem ser retornados structureChangeType
dependem da implementação do provedor Automação da Interface do Usuário. Por exemplo, quando os itens são adicionados ou removidos de uma caixa de listagem do Win32, se o provedor não for capaz de determinar o número de itens adicionados ou removidos, ele poderá especificar ChildrenInvalidated e não ou ChildRemovednãoChildAdded.
A tabela a seguir descreve as informações no evento recebido pelas StructureChangedEventHandler diferentes alterações de estrutura.
structureChangeType |
Origem do evento | runtimeId |
---|---|---|
ChildAdded | O filho que foi adicionado. | O filho que foi adicionado. |
ChildRemoved | O pai da criança que foi removida. | O filho que foi removido. |
ChildrenBulkAdded | O pai das crianças que foram adicionadas. | O pai das crianças que foram adicionadas. |
ChildrenBulkRemoved | O pai das crianças que foram removidas. | O pai das crianças que foram removidas. |
ChildrenInvalidated | O pai dos filhos que foram invalidados. | O pai dos filhos que foram invalidados |
Controles personalizados podem não ser capazes de fornecer um valor significativo em runtimeId
. Para obter mais informações, consulte RaiseStructureChangedEvent.