ClassRadDiagramConnection
The RadDiagramConnection is a special ContentControl that serves as a connection between zero, one or two shapes.
Definition
Namespace:Telerik.Windows.Controls
Assembly:Telerik.Windows.Controls.Diagrams.dll
Syntax:
[Themable]
[TelerikToolboxCategory("Diagram")]
public class RadDiagramConnection : RadDiagramItem, IConnection, IDiagramItem, ISerializable, ISupportMouseOver, IPropertyChanged, IGroupable, ISupportManipulation, ISupportVirtualization, IContainerChild, ICollapsible
Inheritance: objectRadDiagramItemRadDiagramConnection
Implements:
Inherited Members
Constructors
RadDiagramConnection()
Initializes a new instance of the RadDiagramConnection class.
Declaration
public RadDiagramConnection()
Fields
BezierTensionProperty
Identifies the BezierTensionProperty dependency property.
Declaration
public static readonly DependencyProperty BezierTensionProperty
Field Value
DependencyProperty
ConnectionTypeProperty
Identifies the ConnectionType dependency property.
Declaration
public static readonly DependencyProperty ConnectionTypeProperty
Field Value
DependencyProperty
EndPointProperty
Identifies the EndPoint dependency property.
Declaration
public static readonly DependencyProperty EndPointProperty
Field Value
DependencyProperty
IsAutoUpdateSuppressedProperty
Identifies the IsAutoUpdateSuppressedProperty.
Declaration
public static readonly DependencyProperty IsAutoUpdateSuppressedProperty
Field Value
DependencyProperty
RouteProperty
Identifies the RouteProperty property.
Declaration
public static readonly DependencyProperty RouteProperty
Field Value
DependencyProperty
SourceCapSizeProperty
Identifies the SourceCapSize dependency property.
Declaration
public static readonly DependencyProperty SourceCapSizeProperty
Field Value
DependencyProperty
SourceCapTypeProperty
Identifies the SourceCapType dependency property.
Declaration
public static readonly DependencyProperty SourceCapTypeProperty
Field Value
DependencyProperty
SourceConnectorPositionProperty
Identifies the SourceConnectorPosition dependency property.
Declaration
public static readonly DependencyProperty SourceConnectorPositionProperty
Field Value
DependencyProperty
SourceProperty
Identifies the Source dependency property.
Declaration
public static readonly DependencyProperty SourceProperty
Field Value
DependencyProperty
StartPointProperty
Identifies the StartPoint dependency property.
Declaration
public static readonly DependencyProperty StartPointProperty
Field Value
DependencyProperty
TargetCapSizeProperty
Identifies the TargetCapSize dependency property.
Declaration
public static readonly DependencyProperty TargetCapSizeProperty
Field Value
DependencyProperty
TargetCapTypeProperty
Identifies the TargetCapType dependency property.
Declaration
public static readonly DependencyProperty TargetCapTypeProperty
Field Value
DependencyProperty
TargetConnectorPositionProperty
Identifies the TargetConnectorPosition dependency property.
Declaration
public static readonly DependencyProperty TargetConnectorPositionProperty
Field Value
DependencyProperty
TargetProperty
Identifies the TargetProperty dependency property.
Declaration
public static readonly DependencyProperty TargetProperty
Field Value
DependencyProperty
UseFreeConnectorsProperty
Identifies the UseFreeConnectors property.
Declaration
public static readonly DependencyProperty UseFreeConnectorsProperty
Field Value
DependencyProperty
Properties
Adorner
The connection adorner which helps manipulating this connection.
Declaration
public ConnectionManipulationAdorner Adorner { get; set; }
Property Value
BezierTension
Gets or sets the Bezier tension.
Declaration
public double BezierTension { get; set; }
Property Value
A value or zero turns the Bezier connection into a straight line, a value of one and above increase the sharpness of the Bezier curve.
Implements
Bounds
Gets the bounds.
Declaration
public override Rect Bounds { get; }
Property Value
Rect
The bounds.
Overrides
Implements
ConnectionPoints
Gets the connection points of the connection.
Declaration
public IList<Point> ConnectionPoints { get; }
Property Value
IList<Point>
Implements
Remarks
The positions are absolute coordinates with respect to the canvas.
ConnectionType
Gets or sets the type of the connection.
Declaration
public ConnectionType ConnectionType { get; set; }
Property Value
The type of the connection.
Implements
EndPoint
Gets or sets the position of where this connection ends.
Declaration
public Point EndPoint { get; set; }
Property Value
Point
Implements
Geometry
Gets the geometry of the connection.
Declaration
public Geometry Geometry { get; }
Property Value
Geometry
Implements
IsModified
Gets or sets a value indicating whether the connection has been modified.
Declaration
public bool IsModified { get; set; }
Property Value
Implements
Remarks
- This property is set to
trueas soon as you add/remove intermediate points or manually move one of the Bezier handles. This means that the automatically calculated handle positions in function of the connector will be halted. You re-enable this auto-handle calculation by re-setting this property tofalse. - If this property is
truethe connection won't be routed and no automatic reflexive points will be added. You can re-enable this by re-setting this property tofalse.
ManipulationPoints
Gets the manipulation points, which are equal to the adorner's connection editing points.
Declaration
public IList<IConnectionEditPoint> ManipulationPoints { get; }
Property Value
Implements
Route
Gets or sets whether this connection will be automatically routed.
SegmentCount
Gets the number of segments this connection has.
Source
Gets or sets the source.
Declaration
public IShape Source { get; set; }
Property Value
The source.
Implements
SourceCapSize
Gets or sets the size of the source cap.
Declaration
public Size SourceCapSize { get; set; }
Property Value
Size
The size of the source cap.
Implements
SourceCapType
Gets or sets the type of the source cap.
Declaration
public CapType SourceCapType { get; set; }
Property Value
The type of the source cap.
Implements
SourceConnectorPosition
Gets or sets the source connector position.
Declaration
public string SourceConnectorPosition { get; set; }
Property Value
The source connector position.
Implements
SourceConnectorResult
Gets the source connector result.
Declaration
public IConnector SourceConnectorResult { get; }
Property Value
Implements
StartPoint
Gets or sets the position of where this connection starts.
Declaration
public Point StartPoint { get; set; }
Property Value
Point
Implements
Target
Gets or sets the target.
Declaration
public IShape Target { get; set; }
Property Value
The target.
Implements
TargetCapSize
Gets or sets the size of the target cap.
Declaration
public Size TargetCapSize { get; set; }
Property Value
Size
The size of the target cap.
Implements
TargetCapType
Gets or sets the type of the target cap.
Declaration
public CapType TargetCapType { get; set; }
Property Value
The type of the target cap.
Implements
TargetConnectorPosition
Gets or sets the target connector position.
Declaration
public string TargetConnectorPosition { get; set; }
Property Value
The target connector position.
Implements
TargetConnectorResult
Gets the target connector result.
Declaration
public IConnector TargetConnectorResult { get; }
Property Value
Implements
UseFreeConnectors
Gets or sets whether this connection will choose free connectors when attaching to shape with Source or TargetConnectorPosition Auto.
Declaration
public bool UseFreeConnectors { get; set; }
Property Value
Implements
Methods
AddConnectionPoint(Point)
Adds an intermediate connection point.
Declaration
public void AddConnectionPoint(Point point)
Parameters
point
Point
The (absolute canvas) position at which the new connection point should be added.
Implements
Attach(IConnector, IConnector)
Attaches the connection to specific source and target.
Declaration
public void Attach(IConnector source = null, IConnector target = null)
Parameters
source
The source.
target
The target.
Implements
ConnectionTypeChanged(ConnectionType, ConnectionType)
Invoked on connection type changed.
Declaration
protected virtual void ConnectionTypeChanged(ConnectionType newValue, ConnectionType oldValue)
Parameters
newValue
The new value.
oldValue
The old value.
CreateGeometry(BridgeType, bool)
Creates the connection's geometry.
Declaration
protected virtual Geometry CreateGeometry(BridgeType bridgeType, bool roundedCorners)
Parameters
bridgeType
roundedCorners
Returns
Geometry
CreateSourceCapGeometry(Point, Point, ref Point)
Creates the source cap geometry.
Declaration
[SuppressMessage("Microsoft.Design", "CA1045:DoNotPassTypesByReference", MessageId = "2#")]
protected virtual PathFigure CreateSourceCapGeometry(Point startPoint, Point endPoint, ref Point baseLineStart)
Parameters
startPoint
Point
The start point.
endPoint
Point
The end point.
baseLineStart
Point
The new start of the base line.
Returns
PathFigure
CreateTargetCapGeometry(Point, Point, ref Point)
Creates the target cap geometry.
Declaration
[SuppressMessage("Microsoft.Design", "CA1045:DoNotPassTypesByReference", MessageId = "2#")]
protected virtual PathFigure CreateTargetCapGeometry(Point startPoint, Point endPoint, ref Point baseLineEnd)
Parameters
startPoint
Point
The start point.
endPoint
Point
The end point.
baseLineEnd
Point
The new end of the base line.
Returns
PathFigure
Deserialize(SerializationInfo)
Deserializes the serialization info in this diagram entity.
Declaration
public override void Deserialize(SerializationInfo info)
Parameters
info
A SerializationInfo instance.
Overrides
Implements
FetchZConnections(bool, Rect?)
Returns all connections below or above the current connection that intersect with the given bounds.
Declaration
public IList<IConnection> FetchZConnections(bool below, Rect? bounds = null)
Parameters
below
If set to true the connections below current one will be returned, otherwise the ones above.
bounds
Rect?
The bounds. If null the connection's Bounds are used.
Returns
GetCrossings()
Returns the information related to the crossing of this connection with other connections.
Declaration
public CrossingsData GetCrossings()
Returns
Implements
Remarks
- The positions in the returned data are local coordinates with respect to the bounding rectangle of this connection.
- The returned data contains a collection of points for each segment. This collection starts with the startpoint of the segment and ends with the endpoint of the segment. If there is a gap or crossing then for each gap a pair of points will denote the begin/end of the gap. So, each segment collection has always at least two points.
GetIsAutoUpdateSuppressed(DependencyObject)
Gets the IsUpdateNeeded.
Declaration
public static bool GetIsAutoUpdateSuppressed(DependencyObject obj)
Parameters
obj
DependencyObject
Returns
InsertConnectionPoint(Point, int)
Inserts the connection point after the specific index.
Declaration
public void InsertConnectionPoint(Point point, int after)
Parameters
point
Point
The point to add.
after
The index after which it will be positioned.
Implements
Remarks
The zero-position corresponds to the source points, the first position is the first intermediate point and the last index is the target point.
OnApplyTemplate()
When overridden in a derived class, is invoked whenever application code or internal processes (such as a rebuilding layout pass) call . In simplest terms, this means the method is called just before a UI element displays in an application. For more information, see Remarks.
Declaration
public override void OnApplyTemplate()
Overrides
OnCreateAutomationPeer()
Creates a peer associated with this object.
Declaration
protected override AutomationPeer OnCreateAutomationPeer()
Returns
AutomationPeer
An instance of the .
Overrides
OnEndPointChanged(Point, Point)
Called on end point changed.
Declaration
protected virtual void OnEndPointChanged(Point newValue, Point oldValue)
Parameters
newValue
Point
The new value.
oldValue
Point
The old value.
OnInitialized(EventArgs)
This virtual method in called when IsInitialized is set to true and it raises an Initialized event.
Declaration
protected override void OnInitialized(EventArgs e)
Parameters
e
OnIsConnectorsManipulationEnabledChanged(bool, bool)
Called when connectors manipulation changes.
OnIsInEditModeChanged(bool, bool)
Called when IsInEditMode changes.
OnIsSelectedChanged(bool, bool)
Called when the IsSelected property has changed.
OnPositionCoerced(Point)
Called when [position coerced].
Declaration
protected override object OnPositionCoerced(Point position)
Parameters
position
Point
The new position.
Returns
Overrides
OnRouteChanged(bool, bool)
Called when route changed property change.
OnSourceChanged()
Called when the source of the RadDiagramConnection is changed.
Declaration
protected virtual void OnSourceChanged()
OnSourceConnectorPositionChanged(string, string)
Called when on source connector position changed.
OnStartPointChanged(Point, Point)
Called on start point changed.
Declaration
protected virtual void OnStartPointChanged(Point newValue, Point oldValue)
Parameters
newValue
Point
The new value.
oldValue
Point
The old value.
OnStrokeThicknessChanged()
Invoked when the StrokeThickness property has changed.
Declaration
protected override void OnStrokeThicknessChanged()
Overrides
OnTargetChanged()
Called when the target of the RadDiagramConnection is changed.
Declaration
protected virtual void OnTargetChanged()
OnTargetConnectorPositionChanged(string, string)
Called when on target connector position changed.
OnZIndexChanged(int, int)
Called when the ZIndex changes.
PositionEditElementOverride()
When overridden, positions the editing element for the RadDiagramConnection.
Declaration
protected virtual void PositionEditElementOverride()
RefreshIsSelectedInGroup()
Refreshes the is selected in group property.
Declaration
protected override void RefreshIsSelectedInGroup()
Overrides
Serialize()
Serializes this instance.
Declaration
public override SerializationInfo Serialize()
Returns
Overrides
Implements
SetBezierHandles(Point, Point)
Sets the Bezier handle positions. The coordinates are absolute coordinates with respect to the diagramming surface.
Declaration
public void SetBezierHandles(Point startHandle, Point endHandle)
Parameters
startHandle
Point
The start handle position.
endHandle
Point
The end handle position.
Exceptions
The connection is not a Bezier connection and has no handles.
SetIsAutoUpdateSuppressed(DependencyObject, bool)
Sets the IsUpdateNeeded.
Declaration
public static void SetIsAutoUpdateSuppressed(DependencyObject obj, bool value)
Parameters
obj
DependencyObject
value
Update(bool)
Updates this instance.
Declaration
protected virtual void Update(bool isManipulating = false)
Parameters
isManipulating
UpdateDeferredGeometry(Point, Point, Point[])
Updates the deferred geometry.
Declaration
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords")]
protected virtual void UpdateDeferredGeometry(Point start, Point end, Point[] points)
Parameters
start
Point
The start point of the connection.
end
Point
The end point of the connection.
points
Point[]
The intermediate connection points.
UpdateGeometryOverride()
When overridden, provides the geometry for the connection.
Declaration
protected virtual void UpdateGeometryOverride()
Remarks
This is called whenever the connection is redrawn.
Events
ManipulationPointActivated
Occurs when a manipulation point of the RadDiagramConnection is activated.
Declaration
public event EventHandler<ManipulationPointActivatedEventArgs<IConnectionEditPoint>> ManipulationPointActivated
Event Value
EventHandler<ManipulationPointActivatedEventArgs<IConnectionEditPoint>>
Implements