Telerik Diagramming Framework provides a list of ViewModels defined in the Telerik.Windows.Controls.Diagrams.Extensions.dll.
Please note that these classes are designed to serve as a base implementation of your ViewModels thus facilitating your efforts when working with a data-bound RadDiagram.
This section provides information regarding these ViewModels. Below you can examine their inheritance model and find links to tutorials describing each class in more details:
ItemViewModels Inheritance Model
- ItemViewModelBase - a ViewModel designed to describe a few common properties of the RadDiagramItems.
- NodeViewModelBase - a ViewModel designed to describe a RadDiagramShape.
- LinkViewModelBase - a ViewModel designed to describe a RadDiagramConnection.
- ContainerNodeViewModelBase - a ViewModel designed to describe a RadDiagramContainerShape.
- HierarchicalNodeViewModel - a ViewModel designed to describe a hierarchical RadDiagramShape.
GraphSource ViewModels Inheritance Model
GraphSourceBase - a ViewModel designed to describe a sample GraphSource implementation. Please note that this GraphSource type doesn't support TwoWay binding operation. This means that it shouldn't be used in RadDiagram that has to provide any drag, drop or clipboard operations.
ObservableGraphSourceBase - a ViewModel designed to describe a GraphSource implementation that reflects the runtime changes in a RadDiagram GraphSource collection. This makes the ObservableGraphSourceBase class a good choice when creating a data-bound RadDiagram that has to support drag and drop operations. However, it's important to create a custom class deriving from this built-in ViewModel so that you can define how to implement the UI changes in the business logic.
SerializableGraphSourceBase - a ViewModel designed to describe a GraphSource implementation that supports all serialization operations in the RadDiagram. This makes the SerializableGraphSourceBase class a good choice when creating a data-bound RadDiagram that has to support clipboard operations. However please have in mind that the SerializableGraphSourceBase is an abstract class and therefore you need to create a custom class deriving from this built-in ViewModel.