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

Namespace Telerik.Windows.Diagrams.Core

Classes

ActionVisitor<T>

A visitor which encloses a standard action.

AdornerService

Manages the adorner helping the manipulation of items.

AlignmentService

This class is accountable for calculating alignment related transformations for position and size.

AStarRouter

Implements A* algorithm for finding the cheapest path between two points.

AsyncStateCommand

Represents an async state command.

BaseCollection<T>

An observable collection which splits the System.Collections.ObjectModel.ObservableCollection`1.CollectionChanged event into separate events.

BinarySearchTreeBase<T>

Base implementation of the ISearchTree<T> interface.

BinaryTree<TData>

Standard implementation of a binary tree.

BoundsChangedEventArgs

CancelingEventArgs

Event args that can be canceled.

CancelingGenericEventArgs<T>

Generic args that can be canceled.

CancelingManipulationEventArgs

CancelingPositionChangedEventArgs

CancellableCommandEventArgs

Represents Command event args.

ChangeSourceCommand

The change source undoable command.

ChangeTargetCommand

The change target undoable command.

ColorUtilities

Static helper class related to color.

ColorVector

CommandEventArgs

Represents Command event args.

CommandNames

Names of commands (undoable actions).

CommonExtensions

A collection of generic extensions used across the codebase.

ComparisonComparer<T>

System.Collections.Generic.IComparer<T> implementation based on a Comparison.

CompositeAsyncStateCommand

Represents a composite async command.

CompositeCommand

Represents a composite command.

ConnectionCollection

A strongly typed, readonly collection of IConnection instances.

ConnectionLayoutState

Captures the layout state of a connection.

ConnectionManipulationTool

The tool handling the changes of a connection;

ConnectionRoute

Represents a connection route of intermediate points, start and end connectors.

ConnectionTool

The tool used to create a new connection.

ConnectionUtilities

Utilities and extension methods related to connections.

ConnectorCollection

An custom observable collection of connectors.

ConnectorPosition

Predefined positions of a connector in a shape.

ContainerGraph<TNodeData, 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.

ContainerService

Represents the Container service responsible for DiagramContainers in Diagram.

CrossingsData

Stores a collection of PointCollection, each PointCollection holding the crossing points detected for correspondent link segment.

CustomConnectorPosition

Orientation of the custom connector points used in custom scenarios.

DashStyle

Defines the dash style of a pen.

DataTemplate

DataTemplateSelector

DataTransferResult

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.

DepthActionVisitor<T>

A visitor which encloses a standard action.

DiagramConstants

Global constants.

DiagramCursors

Class listing the mouse cursors that are used in Diagram.

DiagramItemCollection

Strongly typed collection of diagramming elements.

DiagramItemEventArgs

DiagramItemsEventArgs

DiagramLayoutEventArgs

The event argument supplied when the diagram layout event is raised.

DiagramLayoutState

Global shape state information before and after a layout pass.

DiagramMetadata

Utility class capturing the metadata of a diagram.

DiagramPropertyName

Properties names.

DiagramSegment<T>

Represents a diagram logical segment.

DiagramSelectionChangedEventArgs

DiagramShapeSegment

Represents a Diagrams logical Shape segment.

DiagramToGraphAdapter<TNodeData, TLinkData>

Helper class to extract a Graph<TNodeData, TLinkData> from an IGraph structure (usually the RadDiagram control).

DiagramToHyperTreeAdapter<TNodeData, 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.

DraggingEventArgs

Represent dragging event args.

DraggingService

Represents the Dragging service responsible for dragging operations in Diagram.

DraggingTool

Tool handling the translation of items.

DragItemsEventArgs

DrawCommand

Base class for undoable actions based on delegates.

DrawingEventArgs

DrawingEventArgs.

DrawingService

Represents drawing service.

DrawingShapeInfo

Groups the Drawing Shape attached properties: Stroke, StrokeThickness, Fill, FillRule, IsShapeFilled, IsShapeClosed.

DrawingState

Represents a drawing state.

DrawingToolBase

Abstract base class for tools which draw something on the canvas.

DrawingToolSegment

Represents a single unit used for drawing a shape with Path or Pencil tools.

Edge<TNodeData, TLinkData>

Generic implementation of the IEdge<TNode, TLink> interface.

EllipseGeometry

GeneralTransform

GenericContainerGenerator<T>

The generic container generator.

GenericEventArgs<T>

Geometry

Graph<TNodeData, TLinkData>

Default implementation/inheritance of the GraphBase<TNode, TLink> class in function of analysis and layout.

GraphAnalysisSettings

Defines the properties used during the extraction of a graph from the diagram control.

GraphBase<TNode, TLink>

Base graph class for the various incarnations in the graph analysis.

GraphCommandBase

Base implementation of the ICommand undo redo interface.

GraphController

Main MVC controller. The view type is based on an interface in function of platform independence.

GraphExtensions

The static graph-analysis related extensions.

GraphMorphism<TNode, TLink>

A mapping (functor actually) from one graph to another.

GraphPath<TNode, TLink>

A path consists of a series of adjacent links.

GraphServiceBase

Represents a service for manipulation of manipulation points.

GridRouter

Routing based on the A* algorithm.

Group

Represents a group.

GroupCollection

Strongly typed collection of IGroup instances.

GroupExtensions

Extensions on the IGroup interface.

GroupService

Represents a group service.

GroupUndoableCommand

Undoable group action.

HashtableDictionary

An object-object dictionary which returns null in case a key is not found (the normal dictionary does throw an exception in this case).

Heap<TData>

An implementation of the Heap data structure.

HitTestService

Service handling the hit-testing of diagram elements.

HorizontalSnappingLine

Object encapsulates information about horizontal line used in snapping to items.

HyperTree<TNodeData, 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.

IGraphExtensions

Represents graph extensions.

InflatedRectRouter

Router used for free connections.

ItemsManipulationEventArgs

KeyArgs

KeyValuePairComparer<TKey, TValue>

A comparer of key-value pairs based on a comparison of the respective keys.

KeyValueTrailVisitor<TKey, TValue>

A visitor that tracks (stores) keys from KeyValuePairs in the order they were visited.

KnownBrushes

KnownBrushes contains predefined Brush objects.

KnownColors

A collection of color presets.

LatticeDictionary

Dictionary of Points needed in GridRouter.

LayoutBase<TNodeData, TLinkData>

The base class for all layout algorithms.

LayoutService

Diagram service managing the layout process.

ManipulateShapeCommand

Undoable shape manipulation action.

ManipulationEventArgs

Represents manipulation event args.

ManipulationPointActivatedEventArgs<T>

ManipulationPointService

Represents a service for manipulation of manipulation points.

ManipulationTool

Tool handling the resizing and rotation of items.

MoveItemCommand

Undoable move action.

Muple

An empty, mutable tuple.

Muple<T1>

A mutable tuple of dimension one.

Muple<T1, T2>

A mutable tuple of dimension two.

Muple<T1, T2, T3>

A mutable tuple of dimension three.

Muple<T1, T2, T3, T4>

A mutable tuple of dimension one.

Muple<T1, T2, T3, T4, T5>

A mutable tuple of dimension four.

Muple<T1, T2, T3, T4, T5, T6>

A mutable tuple of dimension six.

Muple<T1, T2, T3, T4, T5, T6, T7>

A mutable tuple of dimension seven.

Muple<T1, T2, T3, T4, T5, T6, T7, T8>

A mutable tuple of dimension eight.

MupleComparer<TKey, TValue>

A 2-tuple comparer assuming that the first entry acts as a comparable key.

Node<TNodeData, TLinkData>

Default implementation of the Node<TNodeData, TLinkData> interface.

OffsetEventArgs

OrgTreeRouter

Router used for the TreeDown, TreeLeft, TreeRight, TreeUp and TipOverTree LayoutTypes.

OrgTreeRouter.DirectionalRouter

This router routes the connections when the shape layout is TreeDown, TreeUp, TreeLeft or TreeRight.

OrgTreeRouter.DirectionalRoutingSettings

Settings for Directional Router.

OrgTreeRouter.TipOverTreeRouter

This router routes the connections when the shape layout is TipOverTree.

OrgTreeRouter.TreeRouterBase

Base class for the Connection Routers.

PanningTool

Activated when pan action is going to be executed.

PathNode

Runtime data bucket for the A* algorithm.

PathSegment

PathTool

Activated when Path drawing action is going to be executed.

Pen

The pen implementation for Silverlight.

PencilTool

Activated when pen drawing action is going to be executed.

PointCollection

Represents a collection of points

PointerArgs

PointerTool

The default diagram pointer tool.

PointExtensions

Extensions for the Point class.

PositionChangedEventArgs

PrimaryMouseTool

An abstract base tool for mouse tools.

PrimaryMouseToolBase

An abstract base tool for mouse tools.

PriorityQueue<TValue, TPriority>

Priority queue implementation based on a Telerik.Windows.Diagrams.Core.RedBlackTreeList`2.

PropertyEventArgs

PropertyEventArgs<T>

RectangleSelectionTool

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.

RectExtensions

Methods related to the Rect class.

RedBlackTree<T>

Red-Black tree data structure.

RedBlackTree<TKey, 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.

ReflexiveRouter

Represents a connection router for reflexive connections.

ResizingEventArgs

Represent resizing event args.

ResizingService

Represents manipulation service.

ReverseComparer<T>

The reverse comparer.

RotatingEventArgs

RotationService

Represents a rotation service.

RoutingBase

Base class for routing algorithms.

RoutingService

Service handling the routing of the connections.

SegmentationService

Represents the service responsible for logical segmentation of Diagram.

SelectionEventArgs

Selection event args.

SelectionService

Manages the selection of diagram entities.

SerializationConstants

Constants used in the (de)serialization.

SerializationEventArgs<T>

Serialization event args.

SerializationExtensions

Utilities related to (de)serialization.

SerializationInfo

A wrapper for the (de)serialization data.

SerializationService

Manages the (de)serialization of diagrams and diagram elements.

ServiceLocator

Represents a class that can return and register services.

ServiceRegisterEventArgs

ShapeCollection

Strongly type collection (alias) of IShape instances.

ShapeInfo

This class holds the shape's metadata.

ShapeLayoutState

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.

ShapeUtilities

Utility class for shapes.

SnappingEngine

Encapsulates snapping calculations.

SnappingLinesCalculatedEventArgs

Event arguments containing information about snapping lines.

SnappingService

This class is accountable for calculating snapping related transformations for position and size.

SugiyamaData

Keeps the runtime layout data.

SugiyamaLayout

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; http://en.wikipedia.org/wiki/Layered_graph_drawing
  • "Graph drawing and applications" by Kozo Sugiyama, ISBN 981-02-4879-2. Page 29 to 35 gives a description of the algorithm.

SugiyamaProcessor

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.

SugiyamaSettings

Contains settings for the SugiyamaProcessor class.

TextTool

A tool which allows you to position and add text to your diagram.

ToolBase

Base class for Diagram tools.

ToolService

The toolbox, this tells the application which tools are available.

TrailVisitor<TData>

This visitor keeps a trail of the visited item in the Trail.

TreeLayout

Tree layout algorithms.

TreeLayoutData

Runtime layout data.

TreeLayoutProcessor

The tree layout algorithms.

TreeLayoutSettings

Defines the parameters when applying a tree layout (or one of its variations).

TreeNode<TNode>

Classic tree node implementation.

TreeNode<TNode, TLink>

Custom Node<TNodeData, TLinkData> implementation geared towards tree layout.

Twig<TNode, TLink>

Data bucket similar to a TreeNode<TNode> but based on a link rather than a parent property.

UndoableDelegateCommand

Base class for undoable actions based on delegates.

UndoRedoService

Service managing the undo redo actions.

UngroupUndoableCommand

Undoable group action.

Utils

Global utilities and functions.

VerticalSnappingLine

Object encapsulates information about vertical line used in snapping to items.

VirtualizationService

Simple data virtualization. Assuming containers are generated. Just hiding the items out of the viewport.

WeakReferenceDictionary<TKey, TValue>

Represents a dictionary that holds WeakReferences to its values.

Structs

ColorExtension

A collection of utilities related to color.

ConnectorInfo

Combines a bit of info in function of routing.

DiagramSegmentPosition

Represents position of a DiagramSegment.

HslColor

ManipulationPointData

Structure wrapping point and its manipulation type.

MatchingInfo

Represents a result of snapping match operation.

Matrix

Point

Rect

Size

SnappingItem

Encapsulates info about diagram item required by the snapping/matching logic.

Thickness

Vector

Interfaces

IAdornerPartResolver

Represents interface for getting adorner parts.

IAdornerService

The service supporting the adorning of diagram elements.

IAsyncStateCommand

Represents an async state command.

ICollapsible

Represents a collapsible item.

ICommand

Describes and undo redo unit of work.

IConnection

Represents a connection.

IConnectionEditPoint

Defines a manipulation adorner of an IConnection.

IConnector

Represents a connector point of a shape.

IContainerChild

Defines an item which can be part of a diagram container shape.

IContainerGenerator

Defines the members of the container generator.

IContainerGenerator<T>

Represents a generic container generator.

IContainerGeneratorInternal

The internal, extended version of the IContainerGenerator interface which is not pluggable in the ServiceLocator.

IContainerGeneratorInternal<T>

Generic variation of IContainerGeneratorInternal interface.

IContainerItem

Represents interface for container node.

IContainerShape

Defines a shape which acts as an items container for other shapes.

IControllerService

Represents a container service.

IDataTransferService

Defines the service managing the data transfer for copy/paste and dragdrop.

IDepthVisitor<T>

Describes a DFT visitor to a data structure.

IDiagramItem

Defines an element which participates in the diagramming mechanics.

IDragDropAware

Represents a drag drop aware item.

IDraggingService

The service supporting the translation of diagram items.

IDrawingService

The service handling the drawing of geometry on the surface.

IEdge<TNode, TLink>

Graph analysis link description.

IExtendedRouter

Represents an extended connection router.

IGeometryShape

Defines an IShape with geometry content.

IGraph

Defines the diagramming control's API.

IGraphInternal

The internal diagram control API.

IGraphServiceLocator

IGraphSource

Describes the elements of an MVVM graph source.

IGraphSource<T>

Describes the elements of a generic MVVM graph source.

IGroup

Represents a (non-visual) diagramming group.

IGroupable

Defines an item which can be part of a diagram group.

IGroupService

Defines the grouping service.

IHitTestService

The service supporting the hit-testing when selecting diagram items through a selection rectangle or a click-select action.

IKeyboardListener

Describes the two fundamental methods of a keyboard handler object.

ILayer

Defines a diagramming layer.

ILayoutService

Describes the layout service.

ILink

Represents a link between two shapes.

ILink<T>

Represents a link between two shapes.

IManipulationPointService

The service supporting the actions of the ConnectionTool and the ConnectionManipulationTool.

IMouseListener

Describes the four fundamental methods of a mouse handler object.

INode<TNode, TLink>

Graph analysis node description.

IObservableGraphSource

Represents an observable graph source.

IPrePostVisitor<T>

Interface introducing pre-visit and post-visit actions.

IPriorityObject

Defines API for objects with priority.

IPropertyChanged

Represents an item that supports property changed notifications.

IResizingService

The service supporting the scaling of diagram items and groups.

IRotationService

The service supporting the rotation of diagram items.

IRouter

Represents a connection router.

IRoutingService

API for the Diagram Routing Service.

ISearchTree<T>

Describes data structures used for searching.

ISegmentationService

API for Diagram Segmentation Service.

ISelectionService<T>

The service supporting the selection process of diagram items.

ISerializable

Represents a serializable item.

ISerializableGraphSource

Represents a serializable graph source.

ISerializationService

The service supporting the (de)serialization of diagrams and diagram items.

IServiceLocator

Represents a service locator.

ISet<T>

IShape

Defines the API of a diagramming shape.

ISnappingService

The service handling the snapping of diagram items.

ISupportContainerGenerator<T>

Provides view generator functionality.

ISupportManipulation

Interface for manipulation support.

ISupportMouseOver

Interface for mouse over support.

ISupportRotation

Represents an item that supports rotation.

ISupportVirtualization

Represents entity supporting virtualization.

ITextShape

Defines the API of a text shape.

ITool

The base interface for all Diagram tools.

IToolService

Describes the members of the tool service. This service collects tools like the selection tool or the drawing tool.

ITree<T>

An interface for the tree data structure.

IUndoRedoService

The service handling the undo-redo stack.

IVirtualizationService

The service supporting the virtualization of diagram items which are not visible in the viewport anymore.

IVisitor<T>

Describes a visitor to a data structure.

Enums

Alignment

Represents alignment options.

BridgeType

The types of bridges or crossings.

CapType

The type of the connection's cap.

ChildrenLayout

Secondary specification of the layout in addition to the TreeDirection.

ConnectionType

The type of the connection.

DiagramEvent

Diagram events.

Direction

Generic direction enumeration.

ExecuteAction

Represents the execute action of the command.

FillRule

GeneratorStatus

The status of the container generator.

GlidingStyle

Defines the different shapes along which a gliding connection will glide.

InteractionEvent

Interaction events.

ItemVisibility

Represents possible virtualization state particular item could be in.

LayoutType

The diagram layout types you can use to organize a RadDiagram diagram.

ManipulationPointType

The type of a manipulation point.

ManipulationStatus

Represents a connection manipulation status.

MatrixTypes

MouseTool

Enumerates the default mouse tools.

OrderType

Enumerates the two ways a data structure orders its elements.

Orientation

Enumeration of orientations or directions.

RectSelectionMode

The rectangle selection options.

ResizeDirection

Resizing directions.

Sector

Routing sectors.

SelectionMode

Represents the selection mode options.

SelectionState

Represents selection state options.

ShapeConnectionType

Represents the connections types.

SweepDirection

TextWrapping

TreeDirection

The directions in which a tree-like structure is oriented.

TreeLayoutType

The different layout algorithms supported.

Delegates

BinarySearchTreeBase<T>.CustomComparison<TSearch>

A custom comparison between some search value and the type of item that is kept in the tree.

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.