FreeformActivityDesigner.AddConnector Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Dodaje łącznik do elementu FreeformActivityDesigner.
public:
System::Workflow::ComponentModel::Design::Connector ^ AddConnector(System::Workflow::ComponentModel::Design::ConnectionPoint ^ source, System::Workflow::ComponentModel::Design::ConnectionPoint ^ target);
public System.Workflow.ComponentModel.Design.Connector AddConnector (System.Workflow.ComponentModel.Design.ConnectionPoint source, System.Workflow.ComponentModel.Design.ConnectionPoint target);
member this.AddConnector : System.Workflow.ComponentModel.Design.ConnectionPoint * System.Workflow.ComponentModel.Design.ConnectionPoint -> System.Workflow.ComponentModel.Design.Connector
Public Function AddConnector (source As ConnectionPoint, target As ConnectionPoint) As Connector
Parametry
- source
- ConnectionPoint
Lokalizacja ConnectionPoint , w ramach która ma rozpocząć rysowanie łącznika.
- target
- ConnectionPoint
Lokalizacja ConnectionPoint do zakończenia rysowania łącznika.
Zwraca
Element Connector , który został dodany do elementu FreeformActivityDesigner.
Wyjątki
source
lub target
zawiera null
odwołanie (Nothing
w Visual Basic).
Właściwość AssociatedDesigner dla source
elementu lub target
zawiera null
odwołanie (Nothing
).
Bieżący FreeformActivityDesigner element nie jest kontenerem, który ma zostać dodany przez łącznik.
Przykłady
W poniższym przykładzie pokazano, jak używać AddConnector
metody w metodzie niestandardowego projektanta OnLayoutPosition
działań.
class ProcessActvityDesigner : FreeformActivityDesigner
{
private ConnectionPoint GetConnectionPoint(Activity activity, Int32 connectorIndex, DesignerEdges edge)
{
ActivityDesigner designer = null;
if (activity != null && activity.Site != null)
{
IDesignerHost designerHost = activity.Site.GetService(typeof(IDesignerHost)) as IDesignerHost;
if (designerHost != null)
designer = designerHost.GetDesigner(activity) as ActivityDesigner;
}
return new ConnectionPoint(designer, edge, connectorIndex);
}
protected override void OnLayoutPosition(ActivityDesignerLayoutEventArgs e)
{
base.OnLayoutPosition(e);
// Draw a connector between the first and second activities contained in
// the sequence activity used by this designer
if (this.IsRootDesigner)
{
CompositeActivity parentActivity = (CompositeActivity)this.Activity;
ConnectionPoint sourcePoint = GetConnectionPoint(parentActivity.Activities[0], 1, DesignerEdges.Bottom);
ConnectionPoint targetPoint = GetConnectionPoint(parentActivity.Activities[1], 0, DesignerEdges.Top);
this.AddConnector(sourcePoint, targetPoint);
}
}
Class ProcessActvityDesigner
Inherits System.Workflow.ComponentModel.Design.FreeformActivityDesigner
Function GetConnectionPoint(ByVal activity As Activity, ByVal connectorIndex As Int32, ByVal edge As DesignerEdges) As ConnectionPoint
Dim designer As ActivityDesigner = Nothing
If Activity IsNot Nothing And Activity.Site IsNot Nothing Then
Dim designerHost As IDesignerHost = activity.Site.GetService(GetType(IDesignerHost))
If designerHost IsNot Nothing Then
designer = CType(designerHost.GetDesigner(activity), ActivityDesigner)
End If
End If
Return New ConnectionPoint(designer, edge, connectorIndex)
End Function
Protected Overrides Sub OnLayoutPosition(ByVal e As ActivityDesignerLayoutEventArgs)
MyBase.OnLayoutPosition(e)
' Draw a connector between the first and second activities contained in
' the sequence activity used by me designer
If Me.IsRootDesigner Then
Dim parentActivity As CompositeActivity = CType(Me.Activity, CompositeActivity)
Dim sourcePoint As ConnectionPoint = GetConnectionPoint(parentActivity.Activities(0), 1, DesignerEdges.Bottom)
Dim targetPoint As ConnectionPoint = GetConnectionPoint(parentActivity.Activities(1), 0, DesignerEdges.Top)
Me.AddConnector(sourcePoint, targetPoint)
End If
End Sub
End Class
Uwagi
AddConnector element jest wywoływany, gdy użytkownik dodaje element Connector do elementu FreeformActivityDesigner.