Freigeben über


Steuerelementmuster ziehen

Enthält Richtlinien und Konventionen für die Implementierung des Drag-Steuerelementmusters mithilfe IDragProvider-, einschließlich Informationen zu Eigenschaften und Methoden. Das Ziehen Steuerelementmusters wird verwendet, um ziehbare Steuerelemente oder Steuerelemente mit ziehbaren Elementen zu unterstützen.

Implementierungsrichtlinien und -konventionen

Verwenden Sie beim Implementieren des Ziehen Steuerelementmusters die folgenden Richtlinien und Konventionen:

  • Die IDragProvider Schnittstelle unterstützt zwei verschiedene Ziehstile: die Quell-/Zielformatvorlage und die schreibgeschützte Formatvorlage. Sie müssen die Formatvorlage auswählen, die für Ihre Drag-and-Drop-Szenarien am besten geeignet ist:
    • Quell-/Zielformatvorlage: Jedes mögliche Dropziel wird durch ein Element dargestellt, das die IDropTargetProvider Schnittstelle implementiert. Während eines Ziehvorgangs stammen Microsoft-Benutzeroberflächenautomatisierungsereignisse aus dem Element, das gezogen wird, und aus den Drop-Zielelementen.
    • Schreibstil: Dropziele werden nicht durch Benutzeroberflächenautomatisierungselemente dargestellt. Während eines Ziehvorgangs stammen Ereignisse nur aus dem Element, das gezogen wird.
  • IDragProvider- ist eine schreibgeschützte Schnittstelle zur Überwachung von Ziehvorgängen. Sie können ihn nicht zum Steuern eines Ziehvorgangs verwenden. Sie können Ziehvorgänge automatisieren, indem Sie Mauseingaben an ein Steuerelement senden.
  • Die IDragProvider::IsGrabbed--Eigenschaft ist erforderlich.
  • Die IDragProvider::D ropEffect und IDragProvider::D ropEffects Eigenschaften sind für eine Implementierung von Quell-/Zielstilen erforderlich und für eine Implementierung im Quell-/Zielstil unzulässig. In einer Implementierung im Quell-/Zielstil können Drop-Target-Elemente nach ihren Drop-Effekten abgefragt werden.
  • Die IDragProvider::GrabbedItems--Eigenschaft stellt das Ziehen mehrerer Elemente dar. Wenn der Benutzer den Ziehvorgang startet, müssen Sie ein neues Benutzeroberflächenautomatisierungs-Element erstellen, das als Ereignisquellelement fungiert. Dieses neue Element löst alle Ereignisse aus, die das Quellelement entweder im Quell-/Ziel- oder quellgeschützten Modus ausgelöst hätte, während keines der Elemente, die tatsächlich gezogen werden, alle Ereignisse auslösen würde. Wenn der Ziehvorgang abgeschlossen ist, zerstören Sie das Ereignisquellelement.
  • Das Element muss Eigenschaftsänderungsereignisse für die DropEffect- (UIA_DragDropEffectPropertyId) und DropEffects (UIA_DragDropEffectsPropertyId) Eigenschaften auslösen, wenn sie sich ändern. Eigenschaftsänderungsereignisse für die anderen Eigenschaften sind zulässig, können jedoch von den erforderlichen DragStart- (UIA_Drag_DragStartEventId), DragCancel (UIA_Drag_DragCancelEventId) und DragComplete (UIA_Drag_DragCompleteEventId) -Ereignisse abgeleitet werden.

Erforderliche Elemente für IDragProvider-

Die folgenden Eigenschaften und Methoden sind für die Implementierung der IDragProvider Schnittstelle erforderlich.

Erforderliche Mitglieder Elementtyp Notizen
IsGrabbed Eigentum Nichts
DropEffect- Eigentum Erforderlich für eine Implementierung des schreibgeschützten Quellstils.
DropEffects- Eigentum Erforderlich, wenn mehr als ein möglicher Drop-Effekt für das gepackte Element vorhanden ist.
GetGrabbedItems- Methode Erforderlich für einen Ziehvorgang mit mehreren Elementen.
UIA_Drag_DragStartEventId Ereignis Nichts
UIA_Drag_DragCancelEventId Ereignis Nichts
UIA_Drag_DragCompleteEventId Ereignis Nichts

 

Steuerelementtypen und deren unterstützte Steuerelementmuster

DropTarget-Steuerelementmuster

Übersicht über Steuerelementmuster für die Benutzeroberflächenautomatisierung

übersicht über Benutzeroberflächenautomatisierungsstruktur

Benutzeroberflächenautomatisierungsunterstützung für Drag-and-Drop-