skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • NEW: Design Kits for Figma
    • Online Training
    • Document Processing Library
    • Embedded Reporting for web and desktop

    Web

    Kendo UI UI for jQuery UI for Angular UI for React UI for Vue UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Test Studio Dev Edition Telerik JustMock

    CMS

    Sitefinity

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Interface IConnection

Represents a connection.

Inherited Members
IDiagramItem.Initialize(IGraphServiceLocator, IGraphInternal)
IDiagramItem.IsEnabled
IDiagramItem.IsSelected
IDiagramItem.Visibility
IDiagramItem.ZIndex
IDiagramItem.Bounds
IDiagramItem.IsDynamic
IDiagramItem.Id
IDiagramItem.Name
IDiagramItem.Position
IDiagramItem.IsInEditMode
IDiagramItem.IsEditable
IDiagramItem.RenderTransformOrigin
IDiagramItem.Content
ISerializable.Serialize()
ISerializable.Deserialize(SerializationInfo)
ISupportMouseOver.IsMouseOver
IPropertyChanged.PropertyChanged
IGroupable.ParentGroup
IGroupable.ParentGroupChanged
ISupportManipulation.IsRotationEnabled
ISupportManipulation.IsResizingEnabled
ISupportManipulation.IsDraggingEnabled
ISupportManipulation.IsConnectorsManipulationEnabled
ISupportManipulation.IsManipulationAdornerVisible
ISupportManipulation.AllowDelete
ISupportManipulation.AllowCut
ISupportManipulation.AllowCopy
ISupportManipulation.AllowPaste
ISupportVirtualization.VirtualizationState
IContainerChild.ParentContainer
ICollapsible.IsCollapsed
Namespace: Telerik.Windows.Diagrams.Core
Assembly: Telerik.WinControls.RadDiagram.dll

Syntax

public interface IConnection : IDiagramItem, ISerializable, ISupportMouseOver, IPropertyChanged, IGroupable, ISupportManipulation, ISupportVirtualization, IContainerChild, ICollapsible

Properties

BezierTension

Gets or sets the Bezier tension.

Declaration
double BezierTension { get; set; }
Property Value
System.Double

Remarks

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.

ConnectionPoints

Gets the connection points.

Declaration
IList<Point> ConnectionPoints { get; }
Property Value
System.Collections.Generic.IList<Point>

Remarks

The positions are absolute coordinates with respect to the canvas.

ConnectionType

Gets or sets the type of the connection.

Declaration
ConnectionType ConnectionType { get; set; }
Property Value
ConnectionType

EndPoint

Gets or sets the position of where this connection ends.

Declaration
Point EndPoint { get; set; }
Property Value
Point

Geometry

Gets the geometry of the connection.

Declaration
Geometry Geometry { get; }
Property Value
Geometry

IsModified

Gets or sets a value indicating whether the default Bezier handles have been altered or an intermediate point have been added/removed.

Declaration
bool IsModified { get; set; }
Property Value
System.Boolean

Remarks

ManipulationPoints

Gets the manipulation points (the adorning elements of the connection which allow you to alter an intermediate connection point).

Declaration
IList<IConnectionEditPoint> ManipulationPoints { get; }
Property Value
System.Collections.Generic.IList<IConnectionEditPoint>

Route

Gets or sets whether this connection will be automatically routed.

Declaration
bool Route { get; set; }
Property Value
System.Boolean

Remarks

Setting this property effects only Spline and Polyline connections.

Source

Gets or sets the source shape of this connection.

Declaration
IShape Source { get; set; }
Property Value
IShape

SourceCapSize

Gets or sets the size of the source cap (source decorator or arrow head).

Declaration
SizeF SourceCapSize { get; set; }
Property Value
System.Drawing.SizeF

SourceCapType

Gets or sets the type of the source cap.

Declaration
CapType SourceCapType { get; set; }
Property Value
CapType

The type of the source cap.

SourceConnectorPosition

Gets or sets the position of the source connector.

Declaration
string SourceConnectorPosition { get; set; }
Property Value
System.String

Remarks

By default this is one of the standard position names defined in ConnectorPosition, but if one or more custom connectors are defined on the source shape this can be a custom connector name.

SourceConnectorResult

Gets the actual source connector of this connection if the connector is dynamically assigned (Auto).

Declaration
IConnector SourceConnectorResult { get; }
Property Value
IConnector

StartPoint

Gets or sets the position of where this connection starts.

Declaration
Point StartPoint { get; set; }
Property Value
Point

Target

Gets or sets the target shape of this connection.

Declaration
IShape Target { get; set; }
Property Value
IShape

TargetCapSize

Gets or sets the size of the target cap (target decorator or arrow head).

Declaration
SizeF TargetCapSize { get; set; }
Property Value
System.Drawing.SizeF

TargetCapType

Gets or sets the type of the target cap (target decorator or arrow head).

Declaration
CapType TargetCapType { get; set; }
Property Value
CapType

TargetConnectorPosition

Gets or sets the target connector position.

Declaration
string TargetConnectorPosition { get; set; }
Property Value
System.String

Remarks

By default this is one of the standard position names defined in ConnectorPosition, but if one or more custom connectors are defined on the target shape this can be a custom connector name.

TargetConnectorResult

Gets the actual target connector of this connection if the connector is dynamically assigned (Auto).

Declaration
IConnector TargetConnectorResult { get; }
Property Value
IConnector

UseFreeConnectors

Gets or sets whether the connection will choose free (not yet used) connector in the source / target shape when the source / target connector position is Auto.

Declaration
bool UseFreeConnectors { get; set; }
Property Value
System.Boolean

Methods

AddConnectionPoint(Point)

Adds an intermediate connection point.

Declaration
void AddConnectionPoint(Point point)
Parameters
Point point

The (absolute canvas) position at which the new connection point should be added.

Attach(IConnector, IConnector)

Attaches the connection to specific source and target.

Declaration
void Attach(IConnector source = null, IConnector target = null)
Parameters
IConnector source

The source connector to attach to.

IConnector target

The target connector to attach to.

GetCrossings()

Returns the information related to the crossing of this connection with other connections.

Declaration
CrossingsData GetCrossings()
Returns
CrossingsData

InsertConnectionPoint(Point, Int32)

Inserts the connection point after the specific index.

Declaration
void InsertConnectionPoint(Point point, int after)
Parameters
Point point

The point to add.

System.Int32 after

The index after which it will be positioned.

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.

Update(Boolean)

Updates this connection.

Declaration
void Update(bool isManipulating = false)
Parameters
System.Boolean isManipulating

Should be set to true if any of the manipulation services (for instance RotationService, DraggingService) is active as a result of a user action.

UpdateDeferredGeometry(Point, Point, Point[])

Updates the deferred geometry.

Declaration
void UpdateDeferredGeometry(Point startPoint, Point endPoint, Point[] middlePoints)
Parameters
Point startPoint

The start point.

Point endPoint

The end point.

Point[] middlePoints

The middle points.

Events

ManipulationPointActivated

Occurs when a manipulation point (an adorner of the connection which allows you to alter an intermediate connection point) is activated.

Declaration
event EventHandler<ManipulationPointActivatedEventArgs<IConnectionEditPoint>> ManipulationPointActivated
Event Type
System.EventHandler<ManipulationPointActivatedEventArgs<IConnectionEditPoint>>

Extension Methods

CommonExtensions.GetActualBounds(IDiagramItem, Boolean)
CommonExtensions.GetActualBoundsWithoutTransform(IDiagramItem)
CommonExtensions.GetActualBoundsWithRotationTransform(IDiagramItem)
GroupExtensions.GetSupremumGroup(IGroupable, IDiagramItem)
ConnectionUtilities.AllPoints(IConnection)
ConnectionUtilities.TranslateConnectionPoints(IConnection, Boolean)
ConnectionUtilities.GetConnectionEndPoints(IConnection, Boolean)
ConnectionUtilities.SegmentCount(IConnection)
ConnectionUtilities.GetDefaultHandleBezierPoints(IConnection, Point, Point, Nullable<Point>, Nullable<Point>)
ConnectionUtilities.SetConnectionPoints(IConnection, IEnumerable<Point>)
SerializationExtensions.GetSerializationInfo(IDiagramItem)
SerializationExtensions.GetSerializationInfo(IConnection)
SerializationExtensions.SetFromSerializationInfo(IDiagramItem, SerializationInfo)
SerializationExtensions.SetFromSerializationInfo(IConnection, SerializationInfo)
SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.