StructureChangedEventArgs(StructureChangeType, Int32[]) Oluşturucu
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yapısı değişen öğenin değişiklik türünü ve tanımlayıcısını (ID) belirterek sınıfının yeni bir örneğini StructureChangeType başlatır.
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())
Parametreler
- structureChangeType
- StructureChangeType
Değişiklik türünü belirten tek bir değer.
- runtimeId
- Int32[]
Yapısı değişen UI Otomasyonu öğesinin çalışma zamanı tanımlayıcısı (KIMLIK).
Örnekler
Aşağıdaki örnekte, özel liste kutusuna alt öğeler eklendiğinde veya kaldırıldığında bir olayın nasıl oluşturup tetiklendiği gösterilmektedir.
/// <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
Açıklamalar
içinde döndürülebilecek structureChangeType
değerler, UI Otomasyonu sağlayıcısının uygulanmasına bağlıdır. Örneğin, win32 liste kutusuna öğeler eklendiğinde veya bu kutudan kaldırıldığında, sağlayıcı eklenen veya kaldırılan öğe sayısını belirleyemezse veya ChildRemovedbelirtmeyebilir.ChildrenInvalidated ChildAdded
Aşağıdaki tabloda, tarafından farklı yapı değişiklikleri için alınan StructureChangedEventHandler olaydaki bilgiler açıklanmaktadır.
structureChangeType |
Olay kaynağı | runtimeId |
---|---|---|
ChildAdded | Eklenen çocuk. | Eklenen çocuk. |
ChildRemoved | Kaldırılan çocuğun üst öğesi. | Kaldırılan çocuk. |
ChildrenBulkAdded | Eklenen alt öğelerinin üst öğesi. | Eklenen alt öğelerinin üst öğesi. |
ChildrenBulkRemoved | Kaldırılan çocukların üst öğesi. | Kaldırılan çocukların üst öğesi. |
ChildrenInvalidated | Geçersiz kılınan alt öğelerinin üst öğesi. | Geçersiz kılınan alt öğelerinin üst öğesi |
Özel denetimler içinde runtimeId
anlamlı bir değer sağlayamayabilir. Daha fazla bilgi için bkz. RaiseStructureChangedEvent.