WorkflowDesignerMessageFilter Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Achtung
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Stellt eine Basisklasse für alle Workflownachrichtenfilter bereit.
public ref class WorkflowDesignerMessageFilter abstract : IDisposable
public abstract class WorkflowDesignerMessageFilter : 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
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type WorkflowDesignerMessageFilter = class
interface IDisposable
Public MustInherit Class WorkflowDesignerMessageFilter
Implements IDisposable
- Vererbung
-
WorkflowDesignerMessageFilter
- Attribute
- Implementiert
Beispiele
Im folgenden Codebeispiel wird ein benutzerdefinierter Designernachrichtenfilter veranschaulicht, der von der WorkflowDesignerMessageFilter-Klasse abgeleitet wurde. Die Klasse CustomMessageFilter
überschreibt eine Reihe ihrer Basisklassenmethoden, einschließlich OnMouseDown, OnMouseMove, OnMouseUp, OnMouseDoubleClick, OnMouseEnter, OnMouseHover, OnMouseLeave, OnDragEnter, OnDragOver und OnKeyDown.
Dieses Codebeispiel stammt aus Basic DesignerHosting SDK-Beispiel der Datei DesignerShell.cs. Weitere Informationen finden Sie unter Grundlegendes Designerhosting.
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. Weitere Informationen finden Sie unter Veraltete Typen 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.
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. 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.
Konstruktoren
WorkflowDesignerMessageFilter() |
Veraltet.
Initialisiert beim Implementieren in einer abgeleiteten Klasse eine Instanz von WorkflowDesignerMessageFilter. |
Eigenschaften
MessageHitTestContext |
Veraltet.
Ruft die HitTestInfo ab, die den Kontext von WorkflowDesignerMessageFilter beschreibt. |
ParentView |
Veraltet.
Ruft die WorkflowView ab, die dem WorkflowDesignerMessageFilter zugewiesen ist. |
Methoden
Dispose() |
Veraltet.
Gibt die von der WorkflowDesignerMessageFilter verwendeten Ressourcen frei. |
Dispose(Boolean) |
Veraltet.
Gibt die von WorkflowDesignerMessageFilter verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei. |
Equals(Object) |
Veraltet.
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
Finalize() |
Veraltet.
Versucht, durch Aufrufen von |
GetHashCode() |
Veraltet.
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Veraltet.
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
Initialize(WorkflowView) |
Veraltet.
Initialisiert den WorkflowDesignerMessageFilter mit der zugeordneten WorkflowView. |
MemberwiseClone() |
Veraltet.
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnDragDrop(DragEventArgs) |
Veraltet.
Tritt auf, wenn die Maustaste losgelassen wird, wenn sich der Mauszeiger während eines Ziehvorgangs über einem Objekt befindet. |
OnDragEnter(DragEventArgs) |
Veraltet.
Tritt ein, wenn der Mauszeiger während eines Ziehvorgangs über die Grenzen eines Objekts hinweg verschoben wird. |
OnDragLeave() |
Veraltet.
Tritt ein, wenn der Mauszeiger während eines Ziehvorgangs über die Grenzen eines Objekts hinaus verschoben wird. |
OnDragOver(DragEventArgs) |
Veraltet.
Tritt ein, wenn der Mauszeiger während eines Ziehvorgangs innerhalb der Grenzen eines Objekts verschoben wird. |
OnGiveFeedback(GiveFeedbackEventArgs) |
Veraltet.
Tritt während eines Ziehvorgangs ein. |
OnKeyDown(KeyEventArgs) |
Veraltet.
Tritt beim Drücken einer Taste ein. |
OnKeyUp(KeyEventArgs) |
Veraltet.
Tritt ein, wenn eine Taste losgelassen wird. |
OnLayout(LayoutEventArgs) |
Veraltet.
Tritt auf, wenn die untergeordnete Objekte neu angeordnet werden müssen. |
OnMouseCaptureChanged() |
Veraltet.
Tritt auf, wenn sich die durch Ziehen der Maus ausgewählten Elemente ändern. |
OnMouseDoubleClick(MouseEventArgs) |
Veraltet.
Tritt bei einem Doppelklick mit der Maus ein. |
OnMouseDown(MouseEventArgs) |
Veraltet.
Tritt ein, wenn mit der Maustaste geklickt wird. |
OnMouseEnter(MouseEventArgs) |
Veraltet.
Tritt ein, wenn der Mauszeiger über die Grenzen eines Objekts hinweg hineinverschoben wird. |
OnMouseHover(MouseEventArgs) |
Veraltet.
Tritt ein, wenn der Mauszeiger über einem Objekt angehalten wird. |
OnMouseLeave() |
Veraltet.
Tritt ein, wenn der Mauszeiger über die Grenzen eines Objekts hinaus verschoben wird. |
OnMouseMove(MouseEventArgs) |
Veraltet.
Tritt ein, wenn der Mauszeiger bewegt wird, während er sich innerhalb der Grenzen eines Objekts befindet. |
OnMouseUp(MouseEventArgs) |
Veraltet.
Tritt ein, wenn die Maustaste losgelassen wird. |
OnMouseWheel(MouseEventArgs) |
Veraltet.
Tritt ein, wenn das Mausrad betätigt wird. |
OnPaint(PaintEventArgs, Rectangle, AmbientTheme) |
Veraltet.
Tritt ein, wenn eine Zeichennachricht empfangen wird. |
OnPaintWorkflowAdornments(PaintEventArgs, Rectangle, AmbientTheme) |
Veraltet.
Tritt ein, wenn die Randsteuerelemente vom Workflow neu gezeichnet werden müssen. |
OnQueryContinueDrag(QueryContinueDragEventArgs) |
Veraltet.
Tritt während eines Ziehvorgangs ein. |
OnScroll(ScrollBar, Int32) |
Veraltet.
Tritt ein, wenn ein Benutzer einen Bildlauf in einem Workflow-Designer durchführt. |
OnShowContextMenu(Point) |
Veraltet.
Tritt ein, wenn für den Workflow ein Kontextmenü angezeigt werden muss. |
OnThemeChange() |
Veraltet.
Tritt ein, wenn sich das Design des Workflows ändert. |
ProcessMessage(Message) |
Veraltet.
Tritt ein, wenn eine unformatierte Win32-Nachricht verarbeitet werden muss. |
ToString() |
Veraltet.
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |