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

Class SerializableGraphSourceBase<TNode, TLink>

Represents a base class for a serializable graph source.

Inheritance
System.Object
ViewModelBase
GraphSourceBase<TNode, TLink>
ObservableGraphSourceBase<TNode, TLink>
SerializableGraphSourceBase<TNode, TLink>
Inherited Members
ObservableGraphSourceBase<TNode, TLink>.IObservableGraphSource.AddLink(ILink)
ObservableGraphSourceBase<TNode, TLink>.IObservableGraphSource.AddNode(Object)
ObservableGraphSourceBase<TNode, TLink>.IObservableGraphSource.CreateLink(Object, Object)
ObservableGraphSourceBase<TNode, TLink>.IObservableGraphSource.CreateNode(IShape)
ObservableGraphSourceBase<TNode, TLink>.IObservableGraphSource.RemoveLink(ILink)
ObservableGraphSourceBase<TNode, TLink>.IObservableGraphSource.RemoveNode(Object)
ObservableGraphSourceBase<TNode, TLink>.CreateLink(Object, Object)
ObservableGraphSourceBase<TNode, TLink>.CreateNode(IShape)
GraphSourceBase<TNode, TLink>.AddNode(TNode)
GraphSourceBase<TNode, TLink>.AddLink(TLink)
GraphSourceBase<TNode, TLink>.RemoveLink(TLink)
GraphSourceBase<TNode, TLink>.RemoveItem(TNode)
GraphSourceBase<TNode, TLink>.Clear()
GraphSourceBase<TNode, TLink>.InternalItems
GraphSourceBase<TNode, TLink>.InternalLinks
GraphSourceBase<TNode, TLink>.Items
GraphSourceBase<TNode, TLink>.Links
ViewModelBase.VerifyPropertyName(String)
ViewModelBase.InvokeOnUIThread(Action)
ViewModelBase.Dispose()
ViewModelBase.RaisePropertyChanged(String)
ViewModelBase.OnPropertyChanged(String)
ViewModelBase.OnPropertyChanged<T>(Expression<Func<T>>)
ViewModelBase.Dispose(Boolean)
ViewModelBase.PropertyChanged
Namespace: Telerik.Windows.Controls.Diagrams.Extensions.ViewModels
Assembly: Telerik.Windows.Controls.Diagrams.Extensions.dll

Syntax

public abstract class SerializableGraphSourceBase<TNode, TLink> : ObservableGraphSourceBase<TNode, TLink>, INotifyPropertyChanged, IDisposable, ISerializableGraphSource, IObservableGraphSource, IGraphSource where TLink : ILink
Type Parameters
TNode

The type of the node.

TLink

The type of the link.

Constructors

SerializableGraphSourceBase()

Declaration
protected SerializableGraphSourceBase()

Properties

CachedNodes

Cache for the deserialized nodes.

Declaration
protected Dictionary<string, TNode> CachedNodes { get; }
Property Value
System.Collections.Generic.Dictionary<System.String, TNode>

NodeUniqueIdKey

Gets the node unique id key. This key is used to save the unique id of the node in the serialization info.

Declaration
protected virtual string NodeUniqueIdKey { get; }
Property Value
System.String

SourceUniqueIdKey

Gets the source unique id key. This key is used to save the unique id of the source of the link in the serialization info.

Declaration
protected virtual string SourceUniqueIdKey { get; }
Property Value
System.String

TargetUniqueIdKey

Gets the target unique id key. This key is used to save the unique id of the target of the link in the serialization info.

Declaration
protected virtual string TargetUniqueIdKey { get; }
Property Value
System.String

Methods

ClearCache()

Clears the deserialization cache. The cache contains the generated items when deserializing the saved data. The cache should be cleared either before or after the deserialization of the graph source.

Declaration
public void ClearCache()

DeserializeLink(IConnection, SerializationInfo)

Deserializes the link. When overridden, this method creates a new instance of the link and restores any saved information from the serialization info.

Declaration
public virtual TLink DeserializeLink(IConnection connection, SerializationInfo info)
Parameters
IConnection connection

The connection.

SerializationInfo info

The info.

Returns
TLink

DeserializeNode(IShape, SerializationInfo)

Deserializes the node. When overridden, this method creates a new instance of the node and restores any saved information from the serialization info.

Declaration
public virtual TNode DeserializeNode(IShape shape, SerializationInfo info)
Parameters
IShape shape

The shape.

SerializationInfo info

The info.

Returns
TNode

GetNodeUniqueId(TNode)

Gets the node's unique id. This id should be always unique and should not rely on the object's reference.

Declaration
public abstract string GetNodeUniqueId(TNode node)
Parameters
TNode node

The node.

Returns
System.String

SerializeLink(TLink, SerializationInfo)

Serializes the link. When overridden, this method saves important information about the link in the specified serialization info.

Declaration
public virtual void SerializeLink(TLink link, SerializationInfo info)
Parameters
TLink link

The link.

SerializationInfo info

The info.

SerializeNode(TNode, SerializationInfo)

Serializes the node. When overridden, this method saves important information about the node in the specified serialization info.

Declaration
public virtual void SerializeNode(TNode node, SerializationInfo info)
Parameters
TNode node

The node.

SerializationInfo info

The info.

Explicit Interface Implementations

ISerializableGraphSource.DeserializeLink(IConnection, SerializationInfo)

Declaration
ILink ISerializableGraphSource.DeserializeLink(IConnection connection, SerializationInfo info)
Parameters
IConnection connection

SerializationInfo info

Returns
ILink

Implements
ISerializableGraphSource.DeserializeLink(IConnection, SerializationInfo)

ISerializableGraphSource.DeserializeNode(IShape, SerializationInfo)

Declaration
object ISerializableGraphSource.DeserializeNode(IShape shape, SerializationInfo info)
Parameters
IShape shape

SerializationInfo info

Returns
System.Object

Implements
ISerializableGraphSource.DeserializeNode(IShape, SerializationInfo)

ISerializableGraphSource.SerializeLink(ILink, SerializationInfo)

Declaration
void ISerializableGraphSource.SerializeLink(ILink link, SerializationInfo info)
Parameters
ILink link

SerializationInfo info

Implements
ISerializableGraphSource.SerializeLink(ILink, SerializationInfo)

ISerializableGraphSource.SerializeNode(Object, SerializationInfo)

Declaration
void ISerializableGraphSource.SerializeNode(object model, SerializationInfo info)
Parameters
System.Object model

SerializationInfo info

Implements
ISerializableGraphSource.SerializeNode(Object, SerializationInfo)

Extension Methods

CollectionExtensions.ToEnumerable<T>(T)
EnumerableExtensions.ToEnumerable<T>(T)
Getting Started
  • Install Now
  • Demos
  • SDK Samples Browser
  • Sample Applications
Support Resources
  • Code Library
  • Knowledge Base
  • MVVM Support
  • Videos
  • GitHub SDK Repository
Community
  • Forums
  • Blogs
  • XAML 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.