Click or drag to resize
Telerik.Windows.Diagrams.Core Namespace
Public classActionVisitorT
A visitor which encloses a standard action.
Public classAdornerService
Manages the adorner helping the manipulation of items.
Public classAlignmentService
This class is accountable for calculating alignment related transformations for position and size.
Public classAStarRouter
Implements A* algorithm for finding the cheapest path between two points.
Public classAsyncStateCommand
Represents an async state command.
Public classBaseCollectionT
An observable collection which splits the CollectionChanged event into separate events.
Public classBinarySearchTreeBaseT
Public classBinaryTreeTData
Standard implementation of a binary tree.
Public classBoundsChangedEventArgs
Public classCancelingEventArgs
Event args that can be canceled.
Public classCancelingGenericEventArgsT
Generic args that can be canceled.
Public classCancelingManipulationEventArgs
Public classCancelingPositionChangedEventArgs
Public classCancellableCommandEventArgs
Represents Command event args.
Public classChangeSourceCommand
The change source undoable command.
Public classChangeTargetCommand
The change target undoable command.
Public classColorUtilities
Static helper class related to color.
Public classColorVector
Public classCommandEventArgs
Represents Command event args.
Public classCommandNames
Names of commands (undoable actions).
Public classCommonExtensions
A collection of generic extensions used across the codebase.
Public classComparisonComparerT
IComparerT implementation based on a Comparison.
Public classCompositeAsyncStateCommand
Represents a composite async command.
Public classCompositeCommand
Represents a composite command.
Public classConnectionCollection
A strongly typed, readonly collection of IConnection instances.
Public classConnectionLayoutState
Captures the layout state of a connection.
Public classConnectionManipulationTool
The tool handling the changes of a connection;
  • translating the intermediate connection points
  • adding and removing intermediate connection points
  • connecting or detaching endpoints to/from a shape's connector.
Public classConnectionRoute
Represents a connection route of intermediate points, start and end connectors.
Public classConnectionTool
The tool used to create a new connection.
Public classConnectionUtilities
Utilities and extension methods related to connections.
Public classConnectorCollection
An custom observable collection of connectors.
Public classConnectorPosition
Predefined positions of a connector in a shape.
Public classContainerGraphTNodeData, TLinkData
Data class holding the information regarding a sub-diagram contained in a container. If the Container is null it means the sub-diagram is the top-level graph.
Public classContainerService
Represents the Container service responsible for DiagramContainers in Diagram.
Public classCrossingsData
Stores a collection of PointCollection, each PointCollection holding the crossing points detected for correspondent link segment.
Public classCustomConnectorPosition
Orientation of the custom connector points used in custom scenarios.
Public classDashStyle
Defines the dash style of a pen.
Public classDataTemplate
Public classDataTemplateSelector
Public classDataTransferResult
Data bucket holding the result of a data transfer from a DataObject to a diagramming object. This is used in conjunction with the IDataTransferService in relation to a clipboard or a dragdrop transfer.
Public classDepthActionVisitorT
A visitor which encloses a standard action.
Public classDiagramConstants
Global constants.
Public classDiagramCursors
Class listing the mouse cursors that are used in Diagram.
Public classDiagramItemCollection
Strongly typed collection of diagramming elements.
Public classDiagramItemEventArgs
Public classDiagramItemsEventArgs
Public classDiagramLayoutEventArgs
The event argument supplied when the diagram layout event is raised.
Public classDiagramLayoutState
Global shape state information before and after a layout pass.
Public classDiagramMetadata
Utility class capturing the metadata of a diagram.
Public classDiagramPropertyName
Properties names.
Public classDiagramSegmentT
Represents a diagram logical segment.
Public classDiagramSelectionChangedEventArgs
Public classDiagramShapeSegment
Represents a Diagrams logical Shape segment.
Public classDiagramToGraphAdapterTNodeData, TLinkData
Public classDiagramToHyperTreeAdapterTNodeData, TLinkData
Adapter between the diagram control and the graph representation. It converts shape and connections to nodes and edges taking into the containers and their collapse state, the visibility of items and more. If the LayoutContainerChildren is true a hypertree is constructed which holds the hierarchy of containers and many conditions are analyzed to investigate how the effective graph structure looks like and how the layout has to be performed.
Public classDraggingEventArgs
Represent dragging event args.
Public classDraggingService
Represents the Dragging service responsible for dragging operations in Diagram.
Public classDraggingTool
Tool handling the translation of items.
Public classDragItemsEventArgs
Public classDrawCommand
Base class for undoable actions based on delegates.
Public classDrawingEventArgs
Public classDrawingService
Represents drawing service.
Public classDrawingShapeInfo
Groups the Drawing Shape attached properties: Stroke, StrokeThickness, Fill, FillRule, IsShapeFilled, IsShapeClosed.
Public classDrawingState
Represents a drawing state.
Public classDrawingToolBase
Abstract base class for tools which draw something on the canvas.
Public classDrawingToolSegment
Represents a single unit used for drawing a shape with Path or Pencil tools.
Public classEdgeTNodeData, TLinkData
Public classEllipseGeometry
Public classGeneralTransform
Public classGenericContainerGeneratorT
The generic container generator.
Public classGenericEventArgsT
Public classGeometry
Public classGraphTNodeData, TLinkData
Public classGraphAnalysisSettings
Defines the properties used during the extraction of a graph from the diagram control.
Public classGraphBaseTNode, TLink
Base graph class for the various incarnations in the graph analysis.
Public classGraphCommandBase
Base implementation of the ICommand undo redo interface.
Public classGraphController
Main MVC controller. The view type is based on an interface in function of platform independence.
Public classGraphExtensions
The static graph-analysis related extensions.
Public classGraphMorphismTNode, TLink
A mapping (functor actually) from one graph to another.
Public classGraphPathTNode, TLink
A path consists of a series of adjacent links.
Public classGraphServiceBase
Represents a service for manipulation of manipulation points.
Public classGridRouter
Routing based on the A* algorithm.
Public classGroup
Represents a group.
Public classGroupCollection
Strongly typed collection of IGroup instances.
Public classGroupExtensions
Extensions on the IGroup interface.
Public classGroupService
Represents a group service.
Public classGroupUndoableCommand
Undoable group action.
Public classHashtableDictionary
An object-object dictionary which returns null in case a key is not found (the normal dictionary does throw an exception in this case).
Public classHeapTData
An implementation of the Heap data structure.
Public classHitTestService
Service handling the hit-testing of diagram elements.
Public classHorizontalSnappingLine
Object encapsulates information about horizontal line used in snapping to items.
Public classHyperTreeTNodeData, TLinkData
Represent the hierarchy of layout graphs through the hierarchy defined by the containers. The root is the global layout at the top level and if no containers are present or if the children of containers need not be organized this HyperTree will contain only one node, the root.
Public classIGraphExtensions
Represents graph extensions.
Public classInflatedRectRouter
Router used for free connections.
Public classItemsManipulationEventArgs
Public classKeyArgs
Public classKeyValuePairComparerTKey, TValue
A comparer of key-value pairs based on a comparison of the respective keys.
Public classKeyValueTrailVisitorTKey, TValue
A visitor that tracks (stores) keys from KeyValuePairs in the order they were visited.
Public classKnownBrushes
KnownBrushes contains predefined Brush objects.
Public classCode exampleKnownColors
A collection of color presets.
Public classLatticeDictionary
Dictionary of Points needed in GridRouter.
Public classLayoutBaseTNodeData, TLinkData
The base class for all layout algorithms.
Public classLayoutService
Diagram service managing the layout process.
Public classManipulateShapeCommand
Undoable shape manipulation action.
Public classManipulationEventArgs
Represents manipulation event args.
Public classManipulationPointActivatedEventArgsT
Public classManipulationPointService
Represents a service for manipulation of manipulation points.
Public classManipulationTool
Tool handling the resizing and rotation of items.
Public classMoveItemCommand
Undoable move action.
Public classMuple
An empty, mutable tuple.
Public classMupleT1
A mutable tuple of dimension one.
Public classMupleT1, T2
A mutable tuple of dimension two.
Public classMupleT1, T2, T3
A mutable tuple of dimension three.
Public classMupleT1, T2, T3, T4
A mutable tuple of dimension one.
Public classMupleT1, T2, T3, T4, T5
A mutable tuple of dimension four.
Public classMupleT1, T2, T3, T4, T5, T6
A mutable tuple of dimension six.
Public classMupleT1, T2, T3, T4, T5, T6, T7
A mutable tuple of dimension seven.
Public classMupleT1, T2, T3, T4, T5, T6, T7, T8
A mutable tuple of dimension eight.
Public classMupleComparerTKey, TValue
A 2-tuple comparer assuming that the first entry acts as a comparable key.
Public classNodeTNodeData, TLinkData
Public classOffsetEventArgs
Public classOrgTreeRouter
Router used for the TreeDown, TreeLeft, TreeRight, TreeUp and TipOverTree LayoutTypes.
Public classOrgTreeRouterDirectionalRouter
This router routes the connections when the shape layout is TreeDown, TreeUp, TreeLeft or TreeRight.
Public classOrgTreeRouterDirectionalRoutingSettings
Settings for Directional Router.
Public classOrgTreeRouterTipOverTreeRouter
This router routes the connections when the shape layout is TipOverTree.
Public classOrgTreeRouterTreeRouterBase
Base class for the Connection Routers.
Public classPanningTool
Activated when pan action is going to be executed.
Public classPathNode
Runtime data bucket for the A* algorithm.
Public classPathSegment
Public classPathTool
Activated when Path drawing action is going to be executed.
Public classPen
The pen implementation for Silverlight.
Public classPencilTool
Activated when pen drawing action is going to be executed.
Public classPointCollection
Represents a collection of points
Public classPointerArgs
Public classPointerTool
The default diagram pointer tool.
Public classPointExtensions
Extensions for the Point class.
Public classPositionChangedEventArgs
Public classPrimaryMouseTool
An abstract base tool for mouse tools.
Public classPrimaryMouseToolBase
An abstract base tool for mouse tools.
Public classPriorityQueueTValue, TPriority
Priority queue implementation based on a RedBlackTreeList.
Public classPropertyEventArgs
Public classPropertyEventArgsT
Public classRectangleSelectionTool
This base implementation of a tool serves for shape creation on the basis of a drawn rubber band on the canvas. Not every shape is created in this way, certain shape have a fixed size or are polygonal.
Public classRectExtensions
Methods related to the Rect class.
Public classRedBlackTreeT
Red-Black tree data structure.
Public classRedBlackTreeTKey, TValue
A red–black tree is a type of self-balancing binary search tree, a data structure used in computer science, typically to implement associative arrays.
Public classResizingEventArgs
Represent resizing event args.
Public classResizingService
Represents manipulation service.
Public classReverseComparerT
The reverse comparer.
Public classRotatingEventArgs
Public classRotationService
Represents a rotation service.
Public classRoutingBase
Base class for routing algorithms.
Public classRoutingService
Service handling the routing of the connections.
Public classSegmentationService
Represents the service responsible for logical segmentation of Diagram.
Public classSelectionEventArgs
Selection event args.
Public classSelectionService
Manages the selection of diagram entities.
Public classSerializationConstants
Constants used in the (de)serialization.
Public classSerializationEventArgsT
Serialization event args.
Public classSerializationExtensions
Utilities related to (de)serialization.
Public classSerializationInfo
A wrapper for the (de)serialization data.
Public classSerializationService
Manages the (de)serialization of diagrams and diagram elements.
Public classServiceLocator
Represents a class that can return and register services.
Public classServiceRegisterEventArgs
Public classShapeCollection
Strongly type collection (alias) of IShape instances.
Public classShapeInfo
This class holds the shape's metadata.
Public classShapeLayoutState
Captures the essential information about a shape so that layout information can be recorded in the undo-redo stack and animation can be applied globally.
Public classShapeUtilities
Utility class for shapes.
Public classSnappingEngine
Encapsulates snapping calculations.
Public classSnappingLinesCalculatedEventArgs
Event arguments containing information about snapping lines.
Public classSnappingService
This class is accountable for calculating snapping related transformations for position and size.
Public classSugiyamaData
Keeps the runtime layout data.
Public classSugiyamaLayout
The Sugiyama or layered layout implementation.

This algorithm has the following features;

  • nodes are placed on layers
  • crossings minimization: edge crossings are minimized
  • minimum separation: on each layer, neighboring nodes are separated by at least a certain distance
  • balance: parents are placed at the barycenter of their children
  • proximity: neighboring nodes in the immediately upper layer are placed nearby

For additional material on this algorithm, see:

  • Wikipedia;
  • "Graph drawing and applications" by Kozo Sugiyama, ISBN 981-02-4879-2. Page 29 to 35 gives a description of the algorithm.
Public classSugiyamaProcessor
Sugiyama layout of a single connected graph.

The process consists of the following steps:

  • layering: the longest path in the component determines the number of layers
  • normalization:
  • nodes ordering:
  • positioning: the actual positions (or bounding rectangles) are set.
Public classSugiyamaSettings
Contains settings for the SugiyamaProcessor class.
Public classTextTool
A tool which allows you to position and add text to your diagram.
Public classToolBase
Base class for Diagram tools.
Public classToolService
The toolbox, this tells the application which tools are available.
Public classTrailVisitorTData
This visitor keeps a trail of the visited item in the Trail.
Public classTreeLayout
Tree layout algorithms.
Public classTreeLayoutData
Runtime layout data.
Public classTreeLayoutProcessor
The tree layout algorithms.
Public classTreeLayoutSettings
Defines the parameters when applying a tree layout (or one of its variations).
Public classTreeNodeTNode
Classic tree node implementation.
Public classTreeNodeTNode, TLink
Public classTwigTNode, TLink
Public classUndoableDelegateCommand
Base class for undoable actions based on delegates.
Public classUndoRedoService
Service managing the undo redo actions.
Public classUngroupUndoableCommand
Undoable group action.
Public classUtils
Global utilities and functions.
Public classVerticalSnappingLine
Object encapsulates information about vertical line used in snapping to items.
Public classVirtualizationService
Simple data virtualization. Assuming containers are generated. Just hiding the items out of the viewport.
Public classWeakReferenceDictionaryTKey, TValue
Represents a dictionary that holds WeakReferences to its values.
Public structureColorExtension
A collection of utilities related to color.
Public structureConnectorInfo
Combines a bit of info in function of routing.
Public structureDiagramSegmentPosition
Represents position of a DiagramSegment.
Public structureHslColor
Public structureManipulationPointData
Structure wrapping point and its manipulation type.
Public structureMatchingInfo
Represents a result of snapping match operation.
Public structureMatrix
Public structurePoint
Public structureRect
Public structureSize
Public structureSnappingItem
Encapsulates info about diagram item required by the snapping/matching logic.
Public structureThickness
Public structureVector
Public interfaceIAdornerPartResolver
Represents interface for getting adorner parts.
Public interfaceIAdornerService
The service supporting the adorning of diagram elements.
Public interfaceIAsyncStateCommand
Represents an async state command.
Public interfaceICollapsible
Represents a collapsible item.
Public interfaceICommand
Describes and undo redo unit of work.
Public interfaceIConnection
Represents a connection.
Public interfaceIConnectionEditPoint
Defines a manipulation adorner of an .
Public interfaceIConnector
Represents a connector point of a shape.
Public interfaceIContainerChild
Defines an item which can be part of a diagram container shape.
Public interfaceIContainerGenerator
Defines the members of the container generator.
Public interfaceIContainerGeneratorT
Represents a generic container generator.
Public interfaceIContainerGeneratorInternal
The internal, extended version of the IContainerGenerator interface which is not pluggable in the ServiceLocator.
Public interfaceIContainerGeneratorInternalT
Generic variation of IContainerGeneratorInternal interface.
Public interfaceIContainerItem
Represents interface for container node.
Public interfaceIContainerShape
Defines a shape which acts as an items container for other shapes.
Public interfaceIControllerService
Represents a container service.
Public interfaceIDataTransferService
Defines the service managing the data transfer for copy/paste and dragdrop.
Public interfaceIDepthVisitorT
Describes a DFT visitor to a data structure.
Public interfaceIDiagramItem
Defines an element which participates in the diagramming mechanics.
Public interfaceIDragDropAware
Represents a drag drop aware item.
Public interfaceIDraggingService
The service supporting the translation of diagram items.
Public interfaceIDrawingService
The service handling the drawing of geometry on the surface.
Public interfaceIEdgeTNode, TLink
Graph analysis link description.
Public interfaceIExtendedRouter
Represents an extended connection router.
Public interfaceIGeometryShape
Defines an IShape with geometry content.
Public interfaceIGraph
Defines the diagramming control's API.
Public interfaceIGraphInternal
The internal diagram control API.
Public interfaceIGraphServiceLocator
Public interfaceIGraphSource
Describes the elements of an MVVM graph source.
Public interfaceIGraphSourceT
Describes the elements of a generic MVVM graph source.
Public interfaceIGroup
Represents a (non-visual) diagramming group.
Public interfaceIGroupable
Defines an item which can be part of a diagram group.
Public interfaceIGroupService
Defines the grouping service.
Public interfaceIHitTestService
The service supporting the hit-testing when selecting diagram items through a selection rectangle or a click-select action.
Public interfaceIKeyboardListener
Describes the two fundamental methods of a keyboard handler object.
Public interfaceILayer Obsolete.
Defines a diagramming layer.
Public interfaceILayoutService
Describes the layout service.
Public interfaceILink
Represents a link between two shapes.
Public interfaceILinkT
Represents a link between two shapes.
Public interfaceIManipulationPointService
The service supporting the actions of the ConnectionTool and the ConnectionManipulationTool.
Public interfaceIMouseListener
Describes the four fundamental methods of a mouse handler object.
Public interfaceINodeTNode, TLink
Graph analysis node description.
Public interfaceIObservableGraphSource
Represents an observable graph source.
Public interfaceIPrePostVisitorT
Interface introducing pre-visit and post-visit actions.
Public interfaceIPriorityObject
Defines API for objects with priority.
Public interfaceIPropertyChanged
Represents an item that supports property changed notifications.
Public interfaceIResizingService
The service supporting the scaling of diagram items and groups.
Public interfaceIRotationService
The service supporting the rotation of diagram items.
Public interfaceIRouter
Represents a connection router.
Public interfaceIRoutingService
API for the Diagram Routing Service.
Public interfaceISearchTreeT
Describes data structures used for searching.
Public interfaceISegmentationService
API for Diagram Segmentation Service.
Public interfaceISelectionServiceT
The service supporting the selection process of diagram items.
Public interfaceISerializable
Represents a serializable item.
Public interfaceISerializableGraphSource
Represents a serializable graph source.
Public interfaceISerializationService
The service supporting the (de)serialization of diagrams and diagram items.
Public interfaceIServiceLocator
Represents a service locator.
Public interfaceISetT
Public interfaceIShape
Defines the API of a diagramming shape.
Public interfaceISnappingService
The service handling the snapping of diagram items.
Public interfaceISupportContainerGeneratorT
Provides view generator functionality.
Public interfaceISupportManipulation
Interface for manipulation support.
Public interfaceISupportMouseOver
Interface for mouse over support.
Public interfaceISupportRotation
Represents an item that supports rotation.
Public interfaceISupportVirtualization
Represents entity supporting virtualization.
Public interfaceITextShape
Defines the API of a text shape.
Public interfaceITool
The base interface for all Diagram tools.
Public interfaceIToolService
Describes the members of the tool service. This service collects tools like the selection tool or the drawing tool.
Public interfaceITreeT
An interface for the tree data structure.
Public interfaceIUndoRedoService
The service handling the undo-redo stack.
Public interfaceIVirtualizationService
The service supporting the virtualization of diagram items which are not visible in the viewport anymore.
Public interfaceIVisitorT
Describes a visitor to a data structure.
Public enumerationAlignment
Represents alignment options.
Public enumerationBridgeType
The types of bridges or crossings.
Public enumerationCapType
The type of the connection's cap.
Public enumerationChildrenLayout
Secondary specification of the layout in addition to the TreeDirection.
Public enumerationConnectionType
The type of the connection.
Public enumerationDiagramEvent
Diagram events.
Public enumerationDirection
Generic direction enumeration.
Public enumerationExecuteAction
Represents the execute action of the command.
Public enumerationFillRule
Public enumerationGeneratorStatus
The status of the container generator.
Public enumerationGlidingStyle
Defines the different shapes along which a gliding connection will glide.
Public enumerationInteractionEvent
Interaction events.
Public enumerationItemVisibility
Represents possible virtualization state particular item could be in.
Public enumerationLayoutType
The diagram layout types you can use to organize a RadDiagram diagram.
Public enumerationManipulationPointType
The type of a manipulation point.
Public enumerationManipulationStatus
Represents a connection manipulation status.
Public enumerationMatrixTypes
Public enumerationMouseTool
Enumerates the default mouse tools.
Public enumerationOrderType
Enumerates the two ways a data structure orders its elements.
Public enumerationOrientation
Enumeration of orientations or directions.
Public enumerationRectSelectionMode
The rectangle selection options.
Public enumerationResizeDirection
Resizing directions.
Public enumerationSector
Routing sectors.
Public enumerationSelectionMode
Represents the selection mode options.
Public enumerationSelectionState
Represents selection state options.
Public enumerationShapeConnectionType
Represents the connections types.
Public enumerationSweepDirection
Public enumerationTextWrapping
Public enumerationTreeDirection
The directions in which a tree-like structure is oriented.
Public enumerationTreeLayoutType
The different layout algorithms supported.