WorkflowDesignerMessageFilter WorkflowDesignerMessageFilter WorkflowDesignerMessageFilter WorkflowDesignerMessageFilter Class

Definition

Warnung

Diese API ist jetzt veraltet.

Stellt eine Basisklasse für alle Workflownachrichtenfilter bereit.Provides a base class for all workflow message filters.

public ref class WorkflowDesignerMessageFilter abstract : IDisposable
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public abstract class WorkflowDesignerMessageFilter : IDisposable
type WorkflowDesignerMessageFilter = class
    interface IDisposable
Public MustInherit Class WorkflowDesignerMessageFilter
Implements IDisposable
Vererbung
WorkflowDesignerMessageFilterWorkflowDesignerMessageFilterWorkflowDesignerMessageFilterWorkflowDesignerMessageFilter
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel wird ein benutzerdefinierter Designernachrichtenfilter veranschaulicht, der von der WorkflowDesignerMessageFilter-Klasse abgeleitet wurde.The following code example shows a custom designer message filter that derives from WorkflowDesignerMessageFilter. Die Klasse CustomMessageFilter überschreibt eine Reihe ihrer Basisklassenmethoden, einschließlich OnMouseDown, OnMouseMove, OnMouseUp, OnMouseDoubleClick, OnMouseEnter, OnMouseHover, OnMouseLeave, OnDragEnter, OnDragOver und OnKeyDown.The class, named CustomMessageFilter, overrides a number of its base class methods including OnMouseDown, OnMouseMove, OnMouseUp, OnMouseDoubleClick, OnMouseEnter, OnMouseHover, OnMouseLeave, OnDragEnter, OnDragOver, and OnKeyDown.

Dieses Codebeispiel stammt aus Basic DesignerHosting SDK-Beispiel der Datei DesignerShell.cs.This code example is part of the Basic Designer Hosting SDK Sample from the DesignerShell.cs file. Weitere Informationen finden Sie unter Basic Designer Hosting.For more information, see Basic Designer Hosting.

internal sealed class CustomMessageFilter : WorkflowDesignerMessageFilter
{
    #region Members and Constructor

    private bool mouseDown;
    private IServiceProvider serviceProvider;
    private WorkflowView workflowView;
    private WorkflowDesignerLoader loader;

    public CustomMessageFilter(IServiceProvider provider, WorkflowView workflowView, WorkflowDesignerLoader loader)
    {
        this.serviceProvider = provider;
        this.workflowView = workflowView;
        this.loader = loader;
    }

    #endregion

    #region MessageFilter Overridables

    protected override bool OnMouseDown(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        this.mouseDown = true;
        return false;
    }

    protected override bool OnMouseMove(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        if (mouseDown)
        {
            workflowView.ScrollPosition = new Point(eventArgs.X, eventArgs.Y);
        }
        return false;
    }

    protected override bool OnMouseUp(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseDoubleClick(MouseEventArgs eventArgs)
    {
        mouseDown = false;
        return true;
    }

    protected override bool OnMouseEnter(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseHover(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseLeave()
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseWheel(MouseEventArgs eventArgs)
    {
        mouseDown = false;
        return true;
    }

    protected override bool OnMouseCaptureChanged()
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnDragEnter(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnDragOver(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnDragLeave()
    {
        return true;
    }

    protected override bool OnDragDrop(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnGiveFeedback(GiveFeedbackEventArgs gfbevent)
    {
        return true;
    }

    protected override bool OnQueryContinueDrag(QueryContinueDragEventArgs qcdevent)
    {
        return true;
    }

    protected override bool OnKeyDown(KeyEventArgs eventArgs)
    {
        if (eventArgs.KeyCode == Keys.Delete)
        {
            ISelectionService selectionService = (ISelectionService)serviceProvider.GetService(typeof(ISelectionService));
            if (selectionService != null && selectionService.PrimarySelection is CodeActivity)
            {
                CodeActivity codeActivityComponent = (CodeActivity)selectionService.PrimarySelection;
                CompositeActivity parentActivity = codeActivityComponent.Parent;
                if (parentActivity != null)
                {
                    parentActivity.Activities.Remove(codeActivityComponent);
                    this.ParentView.Update();
                }
                loader.RemoveActivityFromDesigner(codeActivityComponent);

            }
        }
        return true;
    }

    protected override bool OnKeyUp(KeyEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnShowContextMenu(Point menuPoint)
    {
        return true;
    }

    #endregion
}
    Friend NotInheritable Class CustomMessageFilter
        Inherits WorkflowDesignerMessageFilter

#Region "Members and Constructor"

        Private mouseDown As Boolean
        Private serviceProvider As IServiceProvider
        Private workflowView As WorkflowView
        Private loader As WorkflowDesignerLoader

        Public Sub New(ByVal provider As IServiceProvider, ByVal workflowView As WorkflowView, ByVal loader As WorkflowDesignerLoader)
            Me.serviceProvider = provider
            Me.workflowView = workflowView
            Me.loader = loader
        End Sub

#End Region

#Region "WorkflowDesignerMessageFilter Overridables"

        Protected Overrides Function OnMouseDown(ByVal eventArgs As System.Windows.Forms.MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = True
            Return False
        End Function

        Protected Overrides Function OnMouseMove(ByVal eventArgs As System.Windows.Forms.MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            If mouseDown Then
                workflowView.ScrollPosition = New Point(eventArgs.X, eventArgs.Y)
            End If
            Return False
        End Function

        Protected Overrides Function OnMouseUp(ByVal eventArgs As MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseDoubleClick(ByVal eventArgs As MouseEventArgs) As Boolean
            mouseDown = False
            Return True
        End Function

        Protected Overrides Function OnMouseEnter(ByVal eventArgs As MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseHover(ByVal eventArgs As MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseLeave() As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseWheel(ByVal eventArgs As MouseEventArgs) As Boolean
            mouseDown = False
            Return True
        End Function

        Protected Overrides Function OnMouseCaptureChanged() As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnDragEnter(ByVal eventArgs As DragEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnDragOver(ByVal eventArgs As DragEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnDragLeave() As Boolean
            Return True
        End Function

        Protected Overrides Function OnDragDrop(ByVal eventArgs As DragEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnGiveFeedback(ByVal gfbevent As GiveFeedbackEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnQueryContinueDrag(ByVal qcdevent As QueryContinueDragEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnKeyDown(ByVal eventArgs As KeyEventArgs) As Boolean
            If eventArgs.KeyCode = Keys.Delete Then
                Dim selectionService As ISelectionService = CType(serviceProvider.GetService(GetType(ISelectionService)), ISelectionService)
                If selectionService IsNot Nothing AndAlso TypeOf selectionService.PrimarySelection Is CodeActivity Then
                    Dim codeActivityComponent As CodeActivity = CType(selectionService.PrimarySelection, CodeActivity)
                    Dim parentActivity As CompositeActivity = codeActivityComponent.Parent
                    If parentActivity IsNot Nothing Then
                        parentActivity.Activities.Remove(codeActivityComponent)
                        Me.ParentView.Update()
                    End If
                    loader.RemoveActivityFromDesigner(codeActivityComponent)
                End If
            End If
            Return True
        End Function

        Protected Overrides Function OnKeyUp(ByVal eventArgs As KeyEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnShowContextMenu(ByVal menuPoint As Point) As Boolean
            Return True
        End Function

#End Region

    End Class

Hinweise

Hinweis

In diesem Material werden veraltete Typen und Namespaces erläutert.This material discusses types and namespaces that are obsolete. Weitere Informationen finden Sie unter Veraltete Typen in Windows Workflow Foundation 4.5.For more information, see Deprecated Types in Windows Workflow Foundation 4.5.

Der Workflow-Designer stellt ein Strategy-Entwurfsmuster bereit, mit dem austauschbare Nachrichtenfilterobjekte für die Handhabung von Ereignissen erstellt werden können.The workflow designer provides a Strategy design pattern to create replaceable message filter objects to handle events.

Leiten Sie von der WorkflowDesignerMessageFilter-Klasse ab, um Nachrichtenfilter zu erstellen, die auf Workflow-Designerereignisse, wie zum Beispiel Ziehnvorägen, Layout- und Zeichenvorgänge sowie andere Designerereignisse, reagieren können.Derive from the WorkflowDesignerMessageFilter class to create message filters that can respond to workflow designer events, such as drag operations, layout and paint operations, and other designer events. Zum Hinzufügen eines benutzerdefinierten Nachrichtenfilters zur Nachrichtenfilterkette rufen Sie den AddDesignerMessageFilter für die WorkflowView auf oder überschreiben die virtuelle MessageFilters-Eigenschaft für die benutzerdefinierte Stammaktivität, und fügen den benutzerdefinierten Nachrichtenfilter zur von der Basisklasse zurückgegebenen Sammlung hinzu.To add a custom message filter to the message filters chain, call the AddDesignerMessageFilter on the WorkflowView or override the MessageFilters virtual property on the custom root activity and add the custom message filter to the collection returned from the base class.

Konstruktoren

WorkflowDesignerMessageFilter() WorkflowDesignerMessageFilter() WorkflowDesignerMessageFilter() WorkflowDesignerMessageFilter()

Initialisiert beim Implementieren in einer abgeleiteten Klasse eine Instanz von WorkflowDesignerMessageFilter.When implemented in a derived class, initializes an instance of a WorkflowDesignerMessageFilter.

Eigenschaften

MessageHitTestContext MessageHitTestContext MessageHitTestContext MessageHitTestContext

Ruft die HitTestInfo ab, die den Kontext von WorkflowDesignerMessageFilter beschreibt.Gets the HitTestInfo that describes the context of the WorkflowDesignerMessageFilter.

ParentView ParentView ParentView ParentView

Ruft die WorkflowView ab, die dem WorkflowDesignerMessageFilter zugewiesen ist.Gets the WorkflowView that is associated with the WorkflowDesignerMessageFilter.

Methoden

Dispose() Dispose() Dispose() Dispose()

Gibt die von der WorkflowDesignerMessageFilter verwendeten Ressourcen frei.Releases the resources used by the WorkflowDesignerMessageFilter.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Gibt die von WorkflowDesignerMessageFilter verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the WorkflowDesignerMessageFilter and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

Versucht, durch Aufrufen von Dispose(false) Ressourcen freizugeben, bevor das Objekt durch die Garbage Collection wieder zugänglich gemacht wird.Attempts to free resources by calling Dispose(false) before the object is reclaimed by garbage collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
Initialize(WorkflowView) Initialize(WorkflowView) Initialize(WorkflowView) Initialize(WorkflowView)

Initialisiert den WorkflowDesignerMessageFilter mit der zugeordneten WorkflowView.Initializes the WorkflowDesignerMessageFilter with the associated WorkflowView.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OnDragDrop(DragEventArgs) OnDragDrop(DragEventArgs) OnDragDrop(DragEventArgs) OnDragDrop(DragEventArgs)

Tritt auf, wenn die Maustaste losgelassen wird, wenn sich der Mauszeiger während eines Ziehvorgangs über einem Objekt befindet.Occurs when the mouse button is released above an object during a drag operation.

OnDragEnter(DragEventArgs) OnDragEnter(DragEventArgs) OnDragEnter(DragEventArgs) OnDragEnter(DragEventArgs)

Tritt ein, wenn der Mauszeiger während eines Ziehvorgangs über die Grenzen eines Objekts hinweg verschoben wird.Occurs when the mouse pointer enters the bounds of an object during a drag operation.

OnDragLeave() OnDragLeave() OnDragLeave() OnDragLeave()

Tritt ein, wenn der Mauszeiger während eines Ziehvorgangs über die Grenzen eines Objekts hinaus verschoben wird.Occurs when the mouse pointer leaves the bounds of an object during a drag operation.

OnDragOver(DragEventArgs) OnDragOver(DragEventArgs) OnDragOver(DragEventArgs) OnDragOver(DragEventArgs)

Tritt ein, wenn der Mauszeiger während eines Ziehvorgangs innerhalb der Grenzen eines Objekts verschoben wird.Occurs when the mouse pointer moves within the bounds of an object during a drag operation.

OnGiveFeedback(GiveFeedbackEventArgs) OnGiveFeedback(GiveFeedbackEventArgs) OnGiveFeedback(GiveFeedbackEventArgs) OnGiveFeedback(GiveFeedbackEventArgs)

Tritt während eines Ziehvorgangs ein.Occurs during a drag operation.

OnKeyDown(KeyEventArgs) OnKeyDown(KeyEventArgs) OnKeyDown(KeyEventArgs) OnKeyDown(KeyEventArgs)

Tritt beim Drücken einer Taste ein.Occurs when a key is pressed.

OnKeyUp(KeyEventArgs) OnKeyUp(KeyEventArgs) OnKeyUp(KeyEventArgs) OnKeyUp(KeyEventArgs)

Tritt ein, wenn eine Taste losgelassen wird.Occurs when a key is released.

OnLayout(LayoutEventArgs) OnLayout(LayoutEventArgs) OnLayout(LayoutEventArgs) OnLayout(LayoutEventArgs)

Tritt auf, wenn die untergeordnete Objekte neu angeordnet werden müssen.Occurs when child objects should be repositioned.

OnMouseCaptureChanged() OnMouseCaptureChanged() OnMouseCaptureChanged() OnMouseCaptureChanged()

Tritt auf, wenn sich die durch Ziehen der Maus ausgewählten Elemente ändern.Occurs when the items selected by dragging the mouse changes.

OnMouseDoubleClick(MouseEventArgs) OnMouseDoubleClick(MouseEventArgs) OnMouseDoubleClick(MouseEventArgs) OnMouseDoubleClick(MouseEventArgs)

Tritt bei einem Doppelklick mit der Maus ein.Occurs when you double-click the mouse.

OnMouseDown(MouseEventArgs) OnMouseDown(MouseEventArgs) OnMouseDown(MouseEventArgs) OnMouseDown(MouseEventArgs)

Tritt ein, wenn mit der Maustaste geklickt wird.Occurs when a mouse button is clicked.

OnMouseEnter(MouseEventArgs) OnMouseEnter(MouseEventArgs) OnMouseEnter(MouseEventArgs) OnMouseEnter(MouseEventArgs)

Tritt ein, wenn der Mauszeiger über die Grenzen eines Objekts hinweg hineinverschoben wird.Occurs when the mouse pointer enters the bounds of an object.

OnMouseHover(MouseEventArgs) OnMouseHover(MouseEventArgs) OnMouseHover(MouseEventArgs) OnMouseHover(MouseEventArgs)

Tritt ein, wenn der Mauszeiger über einem Objekt angehalten wird.Occurs when the mouse pointer pauses above an object.

OnMouseLeave() OnMouseLeave() OnMouseLeave() OnMouseLeave()

Tritt ein, wenn der Mauszeiger über die Grenzen eines Objekts hinaus verschoben wird.Occurs when the mouse pointer leaves the bounds of an object.

OnMouseMove(MouseEventArgs) OnMouseMove(MouseEventArgs) OnMouseMove(MouseEventArgs) OnMouseMove(MouseEventArgs)

Tritt ein, wenn der Mauszeiger bewegt wird, während er sich innerhalb der Grenzen eines Objekts befindet.Occurs when the mouse pointer moves while within the bounds of an object.

OnMouseUp(MouseEventArgs) OnMouseUp(MouseEventArgs) OnMouseUp(MouseEventArgs) OnMouseUp(MouseEventArgs)

Tritt ein, wenn die Maustaste losgelassen wird.Occurs when the mouse button is released.

OnMouseWheel(MouseEventArgs) OnMouseWheel(MouseEventArgs) OnMouseWheel(MouseEventArgs) OnMouseWheel(MouseEventArgs)

Tritt ein, wenn das Mausrad betätigt wird.Occurs when the mouse wheel moves.

OnPaint(PaintEventArgs, Rectangle, AmbientTheme) OnPaint(PaintEventArgs, Rectangle, AmbientTheme) OnPaint(PaintEventArgs, Rectangle, AmbientTheme) OnPaint(PaintEventArgs, Rectangle, AmbientTheme)

Tritt ein, wenn eine Zeichennachricht empfangen wird.Occurs when a paint message is received.

OnPaintWorkflowAdornments(PaintEventArgs, Rectangle, AmbientTheme) OnPaintWorkflowAdornments(PaintEventArgs, Rectangle, AmbientTheme) OnPaintWorkflowAdornments(PaintEventArgs, Rectangle, AmbientTheme) OnPaintWorkflowAdornments(PaintEventArgs, Rectangle, AmbientTheme)

Tritt ein, wenn die Randsteuerelemente vom Workflow neu gezeichnet werden müssen.Occurs when the workflow should repaint its adornments.

OnQueryContinueDrag(QueryContinueDragEventArgs) OnQueryContinueDrag(QueryContinueDragEventArgs) OnQueryContinueDrag(QueryContinueDragEventArgs) OnQueryContinueDrag(QueryContinueDragEventArgs)

Tritt während eines Ziehvorgangs ein.Occurs during a drag operation.

OnScroll(ScrollBar, Int32) OnScroll(ScrollBar, Int32) OnScroll(ScrollBar, Int32) OnScroll(ScrollBar, Int32)

Tritt ein, wenn ein Benutzer einen Bildlauf in einem Workflow-Designer durchführt.Occurs when a user scrolls in a workflow designer.

OnShowContextMenu(Point) OnShowContextMenu(Point) OnShowContextMenu(Point) OnShowContextMenu(Point)

Tritt ein, wenn für den Workflow ein Kontextmenü angezeigt werden muss.Occurs when the workflow should show a context menu.

OnThemeChange() OnThemeChange() OnThemeChange() OnThemeChange()

Tritt ein, wenn sich das Design des Workflows ändert.Occurs when the theme of the workflow changes.

ProcessMessage(Message) ProcessMessage(Message) ProcessMessage(Message) ProcessMessage(Message)

Tritt ein, wenn eine unformatierte Win32-Nachricht verarbeitet werden muss.Occurs when a raw Win32 message must be processed.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für:

Siehe auch