From 324f8622e03119c7f23ec74e4f5a1719b01bad87 Mon Sep 17 00:00:00 2001
From: SatishRaj4377 <158574671+SatishRaj4377@users.noreply.github.com>
Date: Tue, 3 Dec 2024 13:42:17 +0530
Subject: [PATCH 1/7] WPF-925455-Add_New_Feature_Samples
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Added these Samples in WPF Diagram Examples Repo
® MermaidToDiagramLayout Support
® SymbolgroupSerialize Support
® DiagramScrollUsingKeyboard Support
® AnnotationSelection Support
---
 .../AnnotationSelection_462.csproj            | 101 +++
 .../AnnotationSelection_462.sln               |  22 +
 .../AnnotationSelection_60.csproj             |  69 ++
 .../AnnotationSelection_60.sln                |  21 +
 .../AnnotationSelection_80.csproj             |  69 ++
 .../AnnotationSelection_80.sln                |  21 +
 .../AnnotationSelection_90.csproj             |  69 ++
 .../AnnotationSelection_90.sln                |  21 +
 .../AnnotationSelection/App.config            |   6 +
 .../Annotations/AnnotationSelection/App.xaml  |   9 +
 .../AnnotationSelection/App.xaml.cs           |  17 +
 .../AnnotationSelection/MainWindow.xaml       |  14 +
 .../AnnotationSelection/MainWindow.xaml.cs    | 100 +++
 .../Properties/AssemblyInfo.cs                |  52 ++
 .../Properties/Resources.Designer.cs          |  71 ++
 .../Properties/Resources.resx                 | 117 +++
 .../Properties/Settings.Designer.cs           |  30 +
 .../Properties/Settings.settings              |   7 +
 .../DiagramScrollUsingArrowKeys/App.config    |   6 +
 .../DiagramScrollUsingArrowKeys/App.xaml      |   9 +
 .../DiagramScrollUsingArrowKeys/App.xaml.cs   |  17 +
 .../DiagramScrollUsingArrowKeys_462.csproj    | 101 +++
 .../DiagramScrollUsingArrowKeys_462.sln       |  22 +
 .../DiagramScrollUsingArrowKeys_60.csproj     |  69 ++
 .../DiagramScrollUsingArrowKeys_60.sln        |  21 +
 .../DiagramScrollUsingArrowKeys_80.csproj     |  69 ++
 .../DiagramScrollUsingArrowKeys_80.sln        |  21 +
 .../DiagramScrollUsingArrowKeys_90.csproj     |  69 ++
 .../DiagramScrollUsingArrowKeys_90.sln        |  21 +
 .../MainWindow.xaml                           |  18 +
 .../MainWindow.xaml.cs                        |  85 ++
 .../Properties/AssemblyInfo.cs                |  52 ++
 .../Properties/Resources.Designer.cs          |  71 ++
 .../Properties/Resources.resx                 | 117 +++
 .../Properties/Settings.Designer.cs           |  30 +
 .../Properties/Settings.settings              |   7 +
 .../DiagramScrollUsingArrowKeys/README.md     |  13 +
 .../App.config                                |   6 +
 .../App.xaml                                  |   9 +
 .../App.xaml.cs                               |  17 +
 .../MainWindow.xaml                           | 109 +++
 .../MainWindow.xaml.cs                        | 353 ++++++++
 ...rmaidTextToDiagramLayoutSupport_462.csproj | 101 +++
 .../MermaidTextToDiagramLayoutSupport_462.sln |  22 +
 ...ermaidTextToDiagramLayoutSupport_60.csproj |  62 ++
 .../MermaidTextToDiagramLayoutSupport_60.sln  |  21 +
 ...ermaidTextToDiagramLayoutSupport_80.csproj |  62 ++
 .../MermaidTextToDiagramLayoutSupport_80.sln  |  21 +
 ...ermaidTextToDiagramLayoutSupport_90.csproj |  62 ++
 .../MermaidTextToDiagramLayoutSupport_90.sln  |  21 +
 .../Properties/AssemblyInfo.cs                |  52 ++
 .../Properties/Resources.Designer.cs          |  71 ++
 .../Properties/Resources.resx                 | 117 +++
 .../Properties/Settings.Designer.cs           |  30 +
 .../Properties/Settings.settings              |   7 +
 .../README.md                                 |  12 +
 .../Stencil/SymbolGroupSerialize/README.md    |  18 +
 .../SymbolGroupSerialize/App.config           |   6 +
 .../SymbolGroupSerialize/App.xaml             | 831 ++++++++++++++++++
 .../SymbolGroupSerialize/App.xaml.cs          |  17 +
 .../SymbolGroupSerialize/MainWindow.xaml      | 193 ++++
 .../SymbolGroupSerialize/MainWindow.xaml.cs   | 185 ++++
 .../Properties/AssemblyInfo.cs                |  55 ++
 .../Properties/Resources.Designer.cs          |  63 ++
 .../Properties/Resources.resx                 | 117 +++
 .../Properties/Settings.Designer.cs           |  26 +
 .../Properties/Settings.settings              |   7 +
 .../SymbolGroupSerialize_462.csproj           | 107 +++
 .../SymbolGroupSerialize_462.sln              |  22 +
 .../SymbolGroupSerialize_60.csproj            |  66 ++
 .../SymbolGroupSerialize_60.sln               |  21 +
 .../SymbolGroupSerialize_80.csproj            |  66 ++
 .../SymbolGroupSerialize_80.sln               |  21 +
 .../SymbolGroupSerialize_90.csproj            |  66 ++
 .../SymbolGroupSerialize_90.sln               |  21 +
 .../SymbolGroupSerialize/User.jpg             | Bin 0 -> 14459 bytes
 .../ViewModel/StencilViewModel.cs             |  56 ++
 .../SymbolGroupSerialize/packages.config      |   6 +
 78 files changed, 4759 insertions(+)
 create mode 100644 Samples/Annotations/AnnotationSelection/AnnotationSelection_462.csproj
 create mode 100644 Samples/Annotations/AnnotationSelection/AnnotationSelection_462.sln
 create mode 100644 Samples/Annotations/AnnotationSelection/AnnotationSelection_60.csproj
 create mode 100644 Samples/Annotations/AnnotationSelection/AnnotationSelection_60.sln
 create mode 100644 Samples/Annotations/AnnotationSelection/AnnotationSelection_80.csproj
 create mode 100644 Samples/Annotations/AnnotationSelection/AnnotationSelection_80.sln
 create mode 100644 Samples/Annotations/AnnotationSelection/AnnotationSelection_90.csproj
 create mode 100644 Samples/Annotations/AnnotationSelection/AnnotationSelection_90.sln
 create mode 100644 Samples/Annotations/AnnotationSelection/App.config
 create mode 100644 Samples/Annotations/AnnotationSelection/App.xaml
 create mode 100644 Samples/Annotations/AnnotationSelection/App.xaml.cs
 create mode 100644 Samples/Annotations/AnnotationSelection/MainWindow.xaml
 create mode 100644 Samples/Annotations/AnnotationSelection/MainWindow.xaml.cs
 create mode 100644 Samples/Annotations/AnnotationSelection/Properties/AssemblyInfo.cs
 create mode 100644 Samples/Annotations/AnnotationSelection/Properties/Resources.Designer.cs
 create mode 100644 Samples/Annotations/AnnotationSelection/Properties/Resources.resx
 create mode 100644 Samples/Annotations/AnnotationSelection/Properties/Settings.Designer.cs
 create mode 100644 Samples/Annotations/AnnotationSelection/Properties/Settings.settings
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.config
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.xaml
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.xaml.cs
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_462.csproj
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_462.sln
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_60.csproj
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_60.sln
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_80.csproj
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_80.sln
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_90.csproj
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_90.sln
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/MainWindow.xaml
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/MainWindow.xaml.cs
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/AssemblyInfo.cs
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Resources.Designer.cs
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Resources.resx
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Settings.Designer.cs
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Settings.settings
 create mode 100644 Samples/Interaction/DiagramScrollUsingArrowKeys/README.md
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.config
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml.cs
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml.cs
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.csproj
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.sln
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.sln
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.sln
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.sln
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/AssemblyInfo.cs
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.Designer.cs
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.resx
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.Designer.cs
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.settings
 create mode 100644 Samples/Serialization/MermaidTextToDiagramLayoutSupport/README.md
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/README.md
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.config
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.xaml
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.xaml.cs
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/MainWindow.xaml
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/MainWindow.xaml.cs
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/AssemblyInfo.cs
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Resources.Designer.cs
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Resources.resx
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Settings.Designer.cs
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Settings.settings
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.csproj
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.sln
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.sln
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.sln
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.sln
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/User.jpg
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/ViewModel/StencilViewModel.cs
 create mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/packages.config

diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_462.csproj b/Samples/Annotations/AnnotationSelection/AnnotationSelection_462.csproj
new file mode 100644
index 00000000..61ae95c3
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/AnnotationSelection_462.csproj
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{AC51C58D-FBD3-4F31-A621-8B0B297AE008}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <RootNamespace>AnnotationSelection_462</RootNamespace>
+    <AssemblyName>AnnotationSelection_462</AssemblyName>
+    <TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <WarningLevel>4</WarningLevel>
+    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <Deterministic>true</Deterministic>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Xaml">
+      <RequiredTargetFramework>4.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="WindowsBase" />
+    <Reference Include="PresentationCore" />
+    <Reference Include="PresentationFramework" />
+  </ItemGroup>
+  <ItemGroup>
+    <ApplicationDefinition Include="App.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </ApplicationDefinition>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Compile Include="App.xaml.cs">
+      <DependentUpon>App.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="MainWindow.xaml.cs">
+      <DependentUpon>MainWindow.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_462.sln b/Samples/Annotations/AnnotationSelection/AnnotationSelection_462.sln
new file mode 100644
index 00000000..60b2e318
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/AnnotationSelection_462.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.12.35506.116 d17.12
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnnotationSelection_462", "AnnotationSelection_462.csproj", "{AC51C58D-FBD3-4F31-A621-8B0B297AE008}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_60.csproj b/Samples/Annotations/AnnotationSelection/AnnotationSelection_60.csproj
new file mode 100644
index 00000000..8e4513d4
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/AnnotationSelection_60.csproj
@@ -0,0 +1,69 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net6.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>AnnotationSelection_462</AssemblyName>
+    <RootNamespace>AnnotationSelection_462</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_60.sln b/Samples/Annotations/AnnotationSelection/AnnotationSelection_60.sln
new file mode 100644
index 00000000..218f1671
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/AnnotationSelection_60.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31410.414
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnnotationSelection_60", "AnnotationSelection_60.csproj", "{AC51C58D-FBD3-4F31-A621-8B0B297AE008}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_80.csproj b/Samples/Annotations/AnnotationSelection/AnnotationSelection_80.csproj
new file mode 100644
index 00000000..779fcbb9
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/AnnotationSelection_80.csproj
@@ -0,0 +1,69 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net8.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>AnnotationSelection_462</AssemblyName>
+    <RootNamespace>AnnotationSelection_462</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_80.sln b/Samples/Annotations/AnnotationSelection/AnnotationSelection_80.sln
new file mode 100644
index 00000000..62944be0
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/AnnotationSelection_80.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.8.226.21692
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnnotationSelection_80", "AnnotationSelection_80.csproj", "{AC51C58D-FBD3-4F31-A621-8B0B297AE008}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_90.csproj b/Samples/Annotations/AnnotationSelection/AnnotationSelection_90.csproj
new file mode 100644
index 00000000..ac467d3b
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/AnnotationSelection_90.csproj
@@ -0,0 +1,69 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net9.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>AnnotationSelection_462</AssemblyName>
+    <RootNamespace>AnnotationSelection_462</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_90.sln b/Samples/Annotations/AnnotationSelection/AnnotationSelection_90.sln
new file mode 100644
index 00000000..7f1e89c4
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/AnnotationSelection_90.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35017.193
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnnotationSelection_90", "AnnotationSelection_90.csproj", "{AC51C58D-FBD3-4F31-A621-8B0B297AE008}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AC51C58D-FBD3-4F31-A621-8B0B297AE008}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Annotations/AnnotationSelection/App.config b/Samples/Annotations/AnnotationSelection/App.config
new file mode 100644
index 00000000..b50c74f3
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/App.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
+    </startup>
+</configuration>
\ No newline at end of file
diff --git a/Samples/Annotations/AnnotationSelection/App.xaml b/Samples/Annotations/AnnotationSelection/App.xaml
new file mode 100644
index 00000000..5040d94e
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/App.xaml
@@ -0,0 +1,9 @@
+<Application x:Class="AnnotationSelection_462.App"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:local="clr-namespace:AnnotationSelection_462"
+             StartupUri="MainWindow.xaml">
+    <Application.Resources>
+         
+    </Application.Resources>
+</Application>
diff --git a/Samples/Annotations/AnnotationSelection/App.xaml.cs b/Samples/Annotations/AnnotationSelection/App.xaml.cs
new file mode 100644
index 00000000..d860349b
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace AnnotationSelection_462
+{
+    /// <summary>
+    /// Interaction logic for App.xaml
+    /// </summary>
+    public partial class App : Application
+    {
+    }
+}
diff --git a/Samples/Annotations/AnnotationSelection/MainWindow.xaml b/Samples/Annotations/AnnotationSelection/MainWindow.xaml
new file mode 100644
index 00000000..1aedb655
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/MainWindow.xaml
@@ -0,0 +1,14 @@
+<Window x:Class="AnnotationSelection_462.MainWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:AnnotationSelection_462"
+        xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
+        mc:Ignorable="d"
+        Title="MainWindow" Height="450" Width="800">
+    <Grid>
+        <syncfusion:SfDiagram x:Name="Diagram"/>
+        <TextBlock x:Name="TextBlock" HorizontalAlignment="Right" VerticalAlignment="Top" Width="150" Height="500"/>
+    </Grid>
+</Window>
diff --git a/Samples/Annotations/AnnotationSelection/MainWindow.xaml.cs b/Samples/Annotations/AnnotationSelection/MainWindow.xaml.cs
new file mode 100644
index 00000000..5b455787
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/MainWindow.xaml.cs
@@ -0,0 +1,100 @@
+using Syncfusion.UI.Xaml.Diagram;
+using Syncfusion.UI.Xaml.Diagram.Controls;
+using Syncfusion.UI.Xaml.Diagram.Theming;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace AnnotationSelection_462
+{
+    /// <summary>
+    /// Interaction logic for MainWindow.xaml
+    /// </summary>
+    public partial class MainWindow : Window
+    {
+        public MainWindow()
+        {
+            InitializeComponent();
+
+            Diagram.Theme = new OfficeTheme();
+
+            Diagram.Nodes = new NodeCollection();
+            Diagram.Connectors = new ConnectorCollection();
+
+            NodeViewModel node = new NodeViewModel();
+            node.OffsetX = 100;
+            node.OffsetY = 100;
+            node.UnitHeight = 100;
+            node.UnitWidth = 100;
+            node.Shape = new RectangleGeometry() { Rect = new Rect(10, 10, 10, 10) };
+            node.Annotations = new AnnotationCollection();
+
+            AnnotationEditorViewModel anno = new AnnotationEditorViewModel();
+            anno.Content = "Node Annotation";
+            anno.Constraints = AnnotationConstraints.Default & ~AnnotationConstraints.InheritSelectable | AnnotationConstraints.Selectable;
+
+            (node.Annotations as AnnotationCollection).Add(anno);
+
+            ConnectorViewModel connector = new ConnectorViewModel();
+            connector.SourcePoint = new Point(200, 200);
+            connector.TargetPoint = new Point(300, 300);
+            connector.Annotations = new AnnotationCollection();
+
+            AnnotationEditorViewModel anno1 = new AnnotationEditorViewModel();
+            anno1.Content = "Connector Annotation";
+            anno1.Constraints = AnnotationConstraints.Default & ~AnnotationConstraints.InheritSelectable | AnnotationConstraints.Selectable;
+
+            (connector.Annotations as AnnotationCollection).Add(anno1);
+
+            (Diagram.Nodes as NodeCollection).Add(node);
+            (Diagram.Connectors as ConnectorCollection).Add(connector);
+
+            (Diagram.Info as IGraphInfo).ItemSelectedEvent += MainWindow_ItemSelectedEvent;
+            (Diagram.Info as IGraphInfo).ItemUnSelectedEvent += MainWindow_ItemUnSelectedEvent;
+
+        }
+
+        private void MainWindow_ItemUnSelectedEvent(object sender, DiagramEventArgs args)
+        {
+            if (args.Item is IAnnotation)
+            {
+                TextBlock.Text += "\n" + "Annotation is unselected";
+            }
+            else if (args.Item is INode)
+            {
+                TextBlock.Text += "\n" + "Node is unselected";
+            }
+            else if(args.Item is IConnector) 
+            {
+                TextBlock.Text += "\n" + "Connector is unselected";
+            }
+        }
+
+        private void MainWindow_ItemSelectedEvent(object sender, DiagramEventArgs args)
+        {
+            if (args.Item is IAnnotation)
+            {
+                TextBlock.Text += "\n" + "Annotation is selected";
+            }
+            else if (args.Item is INode)
+            {
+                TextBlock.Text += "\n" + "Node is selected";
+            }
+            else if (args.Item is IConnector)
+            {
+                TextBlock.Text += "\n" + "Connector is selected";
+            }
+        }
+    }
+}
diff --git a/Samples/Annotations/AnnotationSelection/Properties/AssemblyInfo.cs b/Samples/Annotations/AnnotationSelection/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..4ca68a6c
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/Properties/AssemblyInfo.cs
@@ -0,0 +1,52 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("AnnotationSelection_462")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("AnnotationSelection_462")]
+[assembly: AssemblyCopyright("Copyright ©  2024")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
+//inside a <PropertyGroup>.  For example, if you are using US english
+//in your source files, set the <UICulture> to en-US.  Then uncomment
+//the NeutralResourceLanguage attribute below.  Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+                                     //(used if a resource is not found in the page,
+                                     // or application resource dictionaries)
+    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+                                              //(used if a resource is not found in the page,
+                                              // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version
+//      Build Number
+//      Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Samples/Annotations/AnnotationSelection/Properties/Resources.Designer.cs b/Samples/Annotations/AnnotationSelection/Properties/Resources.Designer.cs
new file mode 100644
index 00000000..06063c00
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace AnnotationSelection_462.Properties
+{
+
+
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources
+    {
+
+        private static global::System.Resources.ResourceManager resourceMan;
+
+        private static global::System.Globalization.CultureInfo resourceCulture;
+
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources()
+        {
+        }
+
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager
+        {
+            get
+            {
+                if ((resourceMan == null))
+                {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AnnotationSelection_462.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture
+        {
+            get
+            {
+                return resourceCulture;
+            }
+            set
+            {
+                resourceCulture = value;
+            }
+        }
+    }
+}
diff --git a/Samples/Annotations/AnnotationSelection/Properties/Resources.resx b/Samples/Annotations/AnnotationSelection/Properties/Resources.resx
new file mode 100644
index 00000000..af7dbebb
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/Properties/Resources.resx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/Samples/Annotations/AnnotationSelection/Properties/Settings.Designer.cs b/Samples/Annotations/AnnotationSelection/Properties/Settings.Designer.cs
new file mode 100644
index 00000000..fad66f5c
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace AnnotationSelection_462.Properties
+{
+
+
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+    {
+
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+        public static Settings Default
+        {
+            get
+            {
+                return defaultInstance;
+            }
+        }
+    }
+}
diff --git a/Samples/Annotations/AnnotationSelection/Properties/Settings.settings b/Samples/Annotations/AnnotationSelection/Properties/Settings.settings
new file mode 100644
index 00000000..033d7a5e
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/Properties/Settings.settings
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
\ No newline at end of file
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.config b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.config
new file mode 100644
index 00000000..b50c74f3
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
+    </startup>
+</configuration>
\ No newline at end of file
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.xaml b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.xaml
new file mode 100644
index 00000000..d500b04a
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.xaml
@@ -0,0 +1,9 @@
+<Application x:Class="DiagramScrollUsingArrowKeys_462.App"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:local="clr-namespace:DiagramScrollUsingArrowKeys_462"
+             StartupUri="MainWindow.xaml">
+    <Application.Resources>
+         
+    </Application.Resources>
+</Application>
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.xaml.cs b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.xaml.cs
new file mode 100644
index 00000000..1823d076
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace DiagramScrollUsingArrowKeys_462
+{
+    /// <summary>
+    /// Interaction logic for App.xaml
+    /// </summary>
+    public partial class App : Application
+    {
+    }
+}
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_462.csproj b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_462.csproj
new file mode 100644
index 00000000..b40c7047
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_462.csproj
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{26021AAB-20B2-4038-B97B-14C1A47DACE3}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <RootNamespace>DiagramScrollUsingArrowKeys_462</RootNamespace>
+    <AssemblyName>DiagramScrollUsingArrowKeys_462</AssemblyName>
+    <TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <WarningLevel>4</WarningLevel>
+    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <Deterministic>true</Deterministic>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Xaml">
+      <RequiredTargetFramework>4.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="WindowsBase" />
+    <Reference Include="PresentationCore" />
+    <Reference Include="PresentationFramework" />
+  </ItemGroup>
+  <ItemGroup>
+    <ApplicationDefinition Include="App.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </ApplicationDefinition>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Compile Include="App.xaml.cs">
+      <DependentUpon>App.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="MainWindow.xaml.cs">
+      <DependentUpon>MainWindow.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_462.sln b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_462.sln
new file mode 100644
index 00000000..01fbe71b
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_462.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.12.35506.116 d17.12
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiagramScrollUsingArrowKeys_462", "DiagramScrollUsingArrowKeys_462.csproj", "{26021AAB-20B2-4038-B97B-14C1A47DACE3}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_60.csproj b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_60.csproj
new file mode 100644
index 00000000..d5855c52
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_60.csproj
@@ -0,0 +1,69 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net6.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>DiagramScrollUsingArrowKeys_462</AssemblyName>
+    <RootNamespace>DiagramScrollUsingArrowKeys_462</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_60.sln b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_60.sln
new file mode 100644
index 00000000..4d718628
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_60.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31410.414
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiagramScrollUsingArrowKeys_60", "DiagramScrollUsingArrowKeys_60.csproj", "{26021AAB-20B2-4038-B97B-14C1A47DACE3}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_80.csproj b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_80.csproj
new file mode 100644
index 00000000..44da14c8
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_80.csproj
@@ -0,0 +1,69 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net8.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>DiagramScrollUsingArrowKeys_462</AssemblyName>
+    <RootNamespace>DiagramScrollUsingArrowKeys_462</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_80.sln b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_80.sln
new file mode 100644
index 00000000..21d09762
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_80.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.8.226.21692
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiagramScrollUsingArrowKeys_80", "DiagramScrollUsingArrowKeys_80.csproj", "{26021AAB-20B2-4038-B97B-14C1A47DACE3}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_90.csproj b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_90.csproj
new file mode 100644
index 00000000..c2f7a2e3
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_90.csproj
@@ -0,0 +1,69 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net9.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>DiagramScrollUsingArrowKeys_462</AssemblyName>
+    <RootNamespace>DiagramScrollUsingArrowKeys_462</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_90.sln b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_90.sln
new file mode 100644
index 00000000..108cc49f
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys_90.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35017.193
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiagramScrollUsingArrowKeys_90", "DiagramScrollUsingArrowKeys_90.csproj", "{26021AAB-20B2-4038-B97B-14C1A47DACE3}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{26021AAB-20B2-4038-B97B-14C1A47DACE3}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/MainWindow.xaml b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/MainWindow.xaml
new file mode 100644
index 00000000..6d7f3ff0
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/MainWindow.xaml
@@ -0,0 +1,18 @@
+<Window x:Class="DiagramScrollUsingArrowKeys_462.MainWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:DiagramScrollUsingArrowKeys_462"
+        xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
+        mc:Ignorable="d"
+        Title="MainWindow" Height="450" Width="800">
+    <Grid>
+        <syncfusion:SfDiagram x:Name="Diagram"/>
+        <ComboBox x:Name="ScrollLimit" HorizontalAlignment="Right" VerticalAlignment="Top" Height="40" Width="120" SelectedIndex="0" SelectionChanged="ScrollLimit_SelectionChanged">
+            <ComboBoxItem>Infinity</ComboBoxItem>
+            <ComboBoxItem>Diagram</ComboBoxItem>
+            <ComboBoxItem>Limited</ComboBoxItem>
+        </ComboBox>
+    </Grid>
+</Window>
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/MainWindow.xaml.cs b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/MainWindow.xaml.cs
new file mode 100644
index 00000000..4670dee5
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/MainWindow.xaml.cs
@@ -0,0 +1,85 @@
+using Syncfusion.UI.Xaml.Diagram.Theming;
+using Syncfusion.UI.Xaml.Diagram;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace DiagramScrollUsingArrowKeys_462
+{
+    /// <summary>
+    /// Interaction logic for MainWindow.xaml
+    /// </summary>
+    public partial class MainWindow : Window
+    {
+        public MainWindow()
+        {
+            InitializeComponent();
+
+            Diagram.Theme = new OfficeTheme();
+
+            Diagram.ScrollSettings = new ScrollSettings()
+            {
+                ScrollLimit = Syncfusion.UI.Xaml.Diagram.ScrollLimit.Infinity
+            };
+
+            Diagram.HorizontalRuler = new Syncfusion.UI.Xaml.Diagram.Controls.Ruler() { Orientation = Orientation.Horizontal };
+            Diagram.VerticalRuler = new Syncfusion.UI.Xaml.Diagram.Controls.Ruler() { Orientation= Orientation.Vertical };
+
+            Diagram.PageSettings = new PageSettings()
+            {
+                ShowPageBreaks = true,
+                MultiplePage = true,
+            };
+
+            Diagram.Nodes = new NodeCollection();
+
+            NodeViewModel node = new NodeViewModel();
+            node.OffsetX = 100;
+            node.OffsetY = 100;
+            node.UnitHeight = 100;
+            node.UnitWidth = 100;
+            node.Shape = new RectangleGeometry() { Rect = new Rect(10, 10, 10, 10) };
+
+            NodeViewModel node1 = new NodeViewModel();
+            node1.OffsetX = 10000;
+            node1.OffsetY = 10000;
+            node1.UnitHeight = 100;
+            node1.UnitWidth = 100;
+            node1.Shape = new RectangleGeometry() { Rect = new Rect(10, 10, 10, 10) };
+
+
+            (Diagram.Nodes as NodeCollection).Add(node);
+            (Diagram.Nodes as NodeCollection).Add(node1);
+
+        }
+
+        private void ScrollLimit_SelectionChanged(object sender, SelectionChangedEventArgs e)
+        {
+            ComboBox combobox = sender as ComboBox;
+            if(combobox.SelectedIndex == 0)
+            {
+                (Diagram.ScrollSettings as ScrollSettings).ScrollLimit = Syncfusion.UI.Xaml.Diagram.ScrollLimit.Infinity;
+            }
+            else if (combobox.SelectedIndex == 1)
+            {
+                (Diagram.ScrollSettings as ScrollSettings).ScrollLimit = Syncfusion.UI.Xaml.Diagram.ScrollLimit.Diagram;
+            }
+            else if (combobox.SelectedIndex == 2)
+            {
+                (Diagram.ScrollSettings as ScrollSettings).ScrollableArea = new Rect(0, 0, 5000, 5000);
+                (Diagram.ScrollSettings as ScrollSettings).ScrollLimit = Syncfusion.UI.Xaml.Diagram.ScrollLimit.Limited;
+            }
+        }
+    }
+}
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/AssemblyInfo.cs b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..4a91eae7
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/AssemblyInfo.cs
@@ -0,0 +1,52 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("DiagramScrollUsingArrowKeys_462")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("DiagramScrollUsingArrowKeys_462")]
+[assembly: AssemblyCopyright("Copyright ©  2024")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
+//inside a <PropertyGroup>.  For example, if you are using US english
+//in your source files, set the <UICulture> to en-US.  Then uncomment
+//the NeutralResourceLanguage attribute below.  Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+                                     //(used if a resource is not found in the page,
+                                     // or application resource dictionaries)
+    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+                                              //(used if a resource is not found in the page,
+                                              // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version
+//      Build Number
+//      Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Resources.Designer.cs b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Resources.Designer.cs
new file mode 100644
index 00000000..71bcf90a
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace DiagramScrollUsingArrowKeys_462.Properties
+{
+
+
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources
+    {
+
+        private static global::System.Resources.ResourceManager resourceMan;
+
+        private static global::System.Globalization.CultureInfo resourceCulture;
+
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources()
+        {
+        }
+
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager
+        {
+            get
+            {
+                if ((resourceMan == null))
+                {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DiagramScrollUsingArrowKeys_462.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture
+        {
+            get
+            {
+                return resourceCulture;
+            }
+            set
+            {
+                resourceCulture = value;
+            }
+        }
+    }
+}
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Resources.resx b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Resources.resx
new file mode 100644
index 00000000..af7dbebb
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Resources.resx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Settings.Designer.cs b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Settings.Designer.cs
new file mode 100644
index 00000000..86f94b46
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace DiagramScrollUsingArrowKeys_462.Properties
+{
+
+
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+    {
+
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+        public static Settings Default
+        {
+            get
+            {
+                return defaultInstance;
+            }
+        }
+    }
+}
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Settings.settings b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Settings.settings
new file mode 100644
index 00000000..033d7a5e
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/DiagramScrollUsingArrowKeys/Properties/Settings.settings
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
\ No newline at end of file
diff --git a/Samples/Interaction/DiagramScrollUsingArrowKeys/README.md b/Samples/Interaction/DiagramScrollUsingArrowKeys/README.md
new file mode 100644
index 00000000..f16b5955
--- /dev/null
+++ b/Samples/Interaction/DiagramScrollUsingArrowKeys/README.md
@@ -0,0 +1,13 @@
+# Diagram Scroll Using ArrowKeys sample
+This repository contains sample which shows scrolling diagram using Arrow keys.
+
+__*Documentation*__: https://help.syncfusion.com/wpf/diagram/interaction#keyboard
+
+## Project pre-requisites
+To run this application, you need to have the below two in your system
+
+* [Visual Studio 2019](https://www.visualstudio.com/wpf-vs)
+* [Syncfusion.SfDiagram.WPF](https://www.nuget.org/packages/Syncfusion.SfDiagram.WPF/) nuget package. To install the package using NuGet Package Manager, refer this [link](https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio#nuget-package-manager).
+
+## Deploying and running the sample
+* To debug the sample and then run it, press F5 or select Debug > Start Debugging. To run the sample without debugging, press Ctrl+F5 or selectDebug > Start Without Debugging.
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.config b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.config
new file mode 100644
index 00000000..b50c74f3
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
+    </startup>
+</configuration>
\ No newline at end of file
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml
new file mode 100644
index 00000000..e1853593
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml
@@ -0,0 +1,9 @@
+<Application x:Class="MermaidTextToDiagramLayoutSupport.App"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:local="clr-namespace:MermaidTextToDiagramLayoutSupport"
+             StartupUri="MainWindow.xaml">
+    <Application.Resources>
+         
+    </Application.Resources>
+</Application>
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml.cs b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml.cs
new file mode 100644
index 00000000..7aa836e6
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace MermaidTextToDiagramLayoutSupport
+{
+    /// <summary>
+    /// Interaction logic for App.xaml
+    /// </summary>
+    public partial class App : Application
+    {
+    }
+}
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml
new file mode 100644
index 00000000..43ba21d2
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml
@@ -0,0 +1,109 @@
+<Window xmlns:sf="http://schemas.syncfusion.com/wpf"  x:Class="MermaidTextToDiagramLayoutSupport.MainWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:MermaidTextToDiagramLayoutSupport"
+        mc:Ignorable="d"
+        Title="MainWindow" Height="450" Width="800" WindowState="Maximized">
+    <Window.Resources>
+        <ResourceDictionary>
+            <!--Toggle Button Style-->
+            <Style TargetType="ToggleButton">
+                <Setter Property="Template">
+                    <Setter.Value>
+                        <ControlTemplate TargetType="ToggleButton">
+                            <Grid Width="50" Height="25">
+                                <Border x:Name="BackgroundBorder" 
+                                    Background="SkyBlue" 
+                                    CornerRadius="15">
+                                    <Border x:Name="ToggleBorder" 
+                                        Width="20" 
+                                        Height="20" 
+                                        Background="White" 
+                                        CornerRadius="10" 
+                                        HorizontalAlignment="Left" 
+                                        Margin="3">
+                                    </Border>
+                                </Border>
+                            </Grid>
+                            <ControlTemplate.Triggers>
+                                <Trigger Property="IsChecked" Value="True">
+                                    <Setter TargetName="BackgroundBorder" Property="Background" Value="skyblue"/>
+                                    <Setter TargetName="ToggleBorder" Property="HorizontalAlignment" Value="Right"/>
+                                </Trigger>
+                                <Trigger Property="IsChecked" Value="False">
+                                    <Setter TargetName="BackgroundBorder" Property="Background" Value="SkyBlue"/>
+                                    <Setter TargetName="ToggleBorder" Property="HorizontalAlignment" Value="Left"/>
+                                </Trigger>
+                            </ControlTemplate.Triggers>
+                        </ControlTemplate>
+                    </Setter.Value>
+                </Setter>
+            </Style>
+        </ResourceDictionary>
+    </Window.Resources>
+    <Grid>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="6*"/>
+            <ColumnDefinition Width="2*"/>
+        </Grid.ColumnDefinitions>
+        <sf:SfDiagram x:Name="Diagram" Grid.Column="0">
+
+            <sf:SfDiagram.Nodes>
+                <sf:NodeCollection/>
+            </sf:SfDiagram.Nodes>
+
+            <sf:SfDiagram.Connectors>
+                <sf:ConnectorCollection/>
+            </sf:SfDiagram.Connectors>
+
+            <sf:SfDiagram.SnapSettings>
+                <sf:SnapSettings SnapConstraints="ShowLines"/>
+            </sf:SfDiagram.SnapSettings>
+
+            <sf:SfDiagram.HorizontalRuler>
+                <sf:Ruler/>
+            </sf:SfDiagram.HorizontalRuler>
+
+            <sf:SfDiagram.VerticalRuler>
+                <sf:Ruler Orientation="Vertical"/>
+            </sf:SfDiagram.VerticalRuler>
+            <!--<sf:SfDiagram.LayoutManager>
+                <sf:LayoutManager>
+                    <sf:LayoutManager.Layout>
+                        <sf:FlowchartLayout Orientation="TopToBottom"/>
+                    </sf:LayoutManager.Layout>
+                </sf:LayoutManager>
+            </sf:SfDiagram.LayoutManager>-->
+        </sf:SfDiagram>
+        <StackPanel Grid.Column="1">
+
+            <Label Content="Saved Mermaid Text" Margin="0 20 0 0" FontWeight="SemiBold" HorizontalAlignment="Center"/>
+            <TextBox x:Name="DisplayMermaid" MinWidth="290" Padding="8" FontSize="12" Height="200" Background="AliceBlue" HorizontalAlignment="Center" Margin="10 5 10 3"/>
+            <Button x:Name="SaveToMermaid" Click="SaveToMermaid_Click" Content="GetMermaid" Padding="10, 5" HorizontalAlignment="Center" Width="200" Margin="10 0 10 5" Background="SkyBlue"  VerticalAlignment="Top"/>
+
+            <Label Content="Load Mermaid Text" Margin="0 20 0 0" FontWeight="SemiBold"  HorizontalAlignment="Center"/>
+            <TextBox x:Name="EnterMermaid" AcceptsReturn="True" Padding="8" MinWidth="290" Height="200" Background="AliceBlue" HorizontalAlignment="Center" Margin="10 5 10 3"/>
+
+            <WrapPanel Width="310" Margin="10 0 10 5" VerticalAlignment="Center" HorizontalAlignment="Center">
+                <ComboBox x:Name="MermaidExamples" SelectedIndex="0" SelectedValuePath="Content"
+                          SelectionChanged="MermaidExamples_SelectionChanged" Foreground="Black"
+                          VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0 0 5 0"
+                          FontSize="13" FontWeight="Normal" Width="110" Padding="10, 5" BorderBrush="Black" BorderThickness="1">
+                    <ComboBoxItem>First Example</ComboBoxItem>
+                    <ComboBoxItem>Second Example</ComboBoxItem>
+                    <ComboBoxItem>Third Example</ComboBoxItem>
+                </ComboBox>
+                <Button x:Name="LoadFromMermaid" Click="LoadFromMermaid_Click" Content="LoadFromMermaid" Padding="10, 5" HorizontalAlignment="Center" Width="190" Background="SkyBlue" VerticalAlignment="Top"/>
+            </WrapPanel>
+            
+            <Label Content="Switch Layout" Margin="0 40 0 5" FontWeight="SemiBold" HorizontalAlignment="Center"/>
+            <WrapPanel  VerticalAlignment="Center" HorizontalAlignment="Center">
+                <TextBlock Text="FlowChart " Foreground="SkyBlue" FontSize="14" FontWeight="SemiBold"  VerticalAlignment="Center"/>
+                <ToggleButton x:Name="DiagramLayout" Content="DiagramLayout" IsChecked="False" Checked="DiagramLayout_Checked" Unchecked="DiagramLayout_Unchecked"/>
+                <TextBlock Text=" MindMap" Foreground="SkyBlue" FontSize="14" FontWeight="SemiBold" VerticalAlignment="Center"/>
+            </WrapPanel>
+        </StackPanel>
+    </Grid>
+</Window>
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml.cs b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml.cs
new file mode 100644
index 00000000..13f7b890
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml.cs
@@ -0,0 +1,353 @@
+using Syncfusion.UI.Xaml.Diagram.Layout;
+using Syncfusion.UI.Xaml.Diagram;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using Syncfusion.UI.Xaml.Diagram.Theming;
+
+namespace MermaidTextToDiagramLayoutSupport
+{
+    /// <summary>
+    /// Interaction logic for MainWindow.xaml
+    /// </summary>
+    public partial class MainWindow : Window
+    {
+        public MainWindow()
+        {
+            InitializeComponent();
+            Diagram.LayoutManager = new LayoutManager()
+            {
+                Layout = new FlowchartLayout()
+                {
+                    Orientation = FlowchartOrientation.TopToBottom,
+                    YesBranchValues = new List<string> { "Yes", "True", "Y", "s" },
+                    YesBranchDirection = BranchDirection.LeftInFlow,
+                    NoBranchValues = new List<string> { "No", "N", "False", "no" },
+                    NoBranchDirection = BranchDirection.RightInFlow,
+                    HorizontalSpacing = 60,
+                    VerticalSpacing = 40,
+                },
+            };
+        }
+        private bool isFlowChartLayout = true;
+
+        private string flowChartMermaid1 = @"graph TD
+                               A[Start] --> B{Is the issue resolved?}
+                               B -- Yes --> C[Proceed with the next task]
+                               B -- No --> D[Investigate the issue further]
+                               D --> E[Fix the issue]
+                               E --> C
+                               C --> F[End]";
+
+        private string flowChartMermaid2 = @"graph TD
+                  A([Start]) --> B[Choose Destination]
+                  B --> C{Already Registered?}
+                  C -->|No| D[Sign Up]
+                  D --> E[Enter Details]
+                  E --> F[Search Buses]
+                  C --> |Yes| F
+                  F --> G{Buses Available?}
+                  G -->|Yes| H[Select Bus]
+                  H --> I[Enter Passenger Details]
+                  I --> J[Make Payment]
+                  J --> K[Booking Confirmed]
+                  G -->|No| L[Set Reminder]
+                  K --> M([End])
+                  L --> M";
+
+        private string flowChartMermaid3 = @"graph TD
+                  A([Start]) --> B[Choose Destination]
+                  B --> C{Already Registered?}
+                  C -->|No| D[Sign Up]
+                  D --> E[Enter Details]
+                  E --> F[Search Buses]
+                  C --> |Yes| F
+                  F --> G{Buses Available?}
+                  G -->|Yes| H[Select Bus]
+                  H --> I[Enter Passenger Details]
+                  I --> J[Make Payment]
+                  J --> K[Booking Confirmed]
+                  G -->|No| L[Set Reminder]
+                  K --> M([End])
+                  L --> M
+                  style A fill:#90EE90,stroke:#333,stroke-width:2px;
+                  style B fill:#4682B4,stroke:#333,stroke-width:2px;
+                  style C fill:#32CD32,stroke:#333,stroke-width:2px;
+                  style D fill:#FFD700,stroke:#333,stroke-width:2px;
+                  style E fill:#4682B4,stroke:#333,stroke-width:2px;
+                  style F fill:#4682B4,stroke:#333,stroke-width:2px;
+                  style G fill:#32CD32,stroke:#333,stroke-width:2px;
+                  style H fill:#4682B4,stroke:#333,stroke-width:2px;
+                  style I fill:#4682B4,stroke:#333,stroke-width:2px;
+                  style J fill:#4682B4,stroke:#333,stroke-width:2px;
+                  style K fill:#FF6347,stroke:#333,stroke-width:2px;
+                  style L fill:#FFD700,stroke:#333,stroke-width:2px;
+                  style M fill:#FF6347,stroke:#333,stroke-width:2px;";
+
+        private string mindmapMermaid1 = @"
+mindmap
+root(Mobile Banking Registration)
+    User(User)
+    PersonalInfo(Personal Information)
+        Name(Name)
+        DOB(Date of Birth)
+        Address(Address)
+    ContactInfo))Contact Information((
+        Email(Email)
+        Phone(Phone Number)
+    Account[Account]
+        AccountType[Account Type]
+            Savings[Savings]
+            Checking[Checking]
+        AccountDetails(Account Details)
+            AccountNumber(Account Number)
+            SortCode(Sort Code)
+    Security{{Security}}
+        Authentication(Authentication)
+            Password(Password)
+            Biometrics(Biometrics)
+            Fingerprint(Fingerprint)
+            FaceID(Face ID)
+        Verification)Verification(
+            OTP)OTP(
+            SecurityQuestions)Security Questions(
+    Terms(Terms & Conditions)
+        AcceptTerms(Accept Terms)
+        PrivacyPolicy(Privacy Policy)
+                ";
+
+        private string mindmapMermaid2 = @"mindmap
+root(Mobile App Development)
+    Planning(Planning)
+        Requirements(Requirements)
+        Feasibility(Feasibility)
+    Design(Design)
+        UI(UI Design)
+        UX(UX Design)
+    Development(Development)
+        Frontend(Frontend)
+        Backend(Backend)
+        Database(Database)
+    Testing(Testing)
+        Unit(Unit Testing)
+        Integration(Integration Testing)
+        System(System Testing)
+        UserAcceptance(User Acceptance Testing)
+    Deployment(Deployment)
+        AppStore(App Store)
+        PlayStore(Play Store)
+    Maintenance(Maintenance)
+        BugFixes(Bug Fixes)
+        Updates(Updates)
+";
+
+        private string mindmapMermaid3 = @"mindmap
+root(Syncfusion Products)
+    UIComponents(UI Components)
+        Grids(Grids)
+        Charts(Charts)
+        Diagrams(Diagrams)
+        Editors(Editors)
+    DataVisualization(Data Visualization)
+        Dashboards(Dashboards)
+        Reporting(Reporting)
+        BI(Business Intelligence)
+    FileFormats(File Formats)
+        PDF(PDF)
+        Excel(Excel)
+        Word(Word)
+        PowerPoint(PowerPoint)
+    DevelopmentTools(Development Tools)
+        CodeEditors(Code Editors)
+        Debuggers(Debuggers)
+        Profilers(Profilers)
+    Integration(Integration)
+        Cloud(Cloud)
+        OnPremises(On-Premises)
+";
+        private void SaveToMermaid_Click(object sender, RoutedEventArgs e)
+        {
+            string mermaidData = Diagram.SaveDiagramAsMermaid();
+            if (!string.IsNullOrEmpty(mermaidData))
+                DisplayMermaid.Text = mermaidData;
+
+        }
+
+        private void LoadFromMermaid_Click(object sender, RoutedEventArgs e)
+        {
+            Diagram.Theme = null;
+
+
+
+            if (!string.IsNullOrEmpty(EnterMermaid.Text))
+            {
+                if (!isFlowChartLayout)
+                {
+                    Diagram.LayoutManager = new LayoutManager()
+                    {
+                        Layout = new MindMapTreeLayout()
+                        {
+                            HorizontalSpacing = 50,
+                            VerticalSpacing = 30,
+                            Orientation = Orientation.Horizontal,
+                            SplitMode = MindMapTreeMode.Level
+                        },
+                        RefreshFrequency = RefreshFrequency.ArrangeParsing
+                    };
+                    Diagram.Theme = new OfficeTheme();
+                }
+                Diagram.LoadDiagramFromMermaid(EnterMermaid.Text);
+            }
+            else
+            {
+                //List<string> filteredData = mindmapMermaid
+                //                            .Split(new[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries)
+                //                            .Where(line => !string.IsNullOrWhiteSpace(line))
+                //                            .ToList();
+                //if (filteredData[0].Trim() != "mindmap")
+                //    filteredData.Insert(0, "mindmap");
+                //filteredData[1].TrimStart('-', '+');
+                //mindmapMermaid = string.Join("\n", filteredData);
+                if (isFlowChartLayout)
+                {
+                    Diagram.LoadDiagramFromMermaid(flowChartMermaid3);
+                }
+                else
+                {
+                    Diagram.LoadDiagramFromMermaid(mindmapMermaid2);
+                    Diagram.LayoutManager = new LayoutManager()
+                    {
+                        Layout = new MindMapTreeLayout()
+                        {
+                            HorizontalSpacing = 50,
+                            VerticalSpacing = 30,
+                            Orientation = Orientation.Horizontal,
+                            SplitMode = MindMapTreeMode.Level
+                        },
+                        RefreshFrequency = RefreshFrequency.ArrangeParsing
+                    };
+                    Diagram.Theme = new OfficeTheme();
+                }
+            }
+        }
+
+        private void DiagramLayout_Checked(object sender, RoutedEventArgs e)
+        {
+            Diagram.LayoutManager = new LayoutManager()
+            {
+                Layout = new MindMapTreeLayout()
+                {
+                    HorizontalSpacing = 50,
+                    VerticalSpacing = 30,
+                    Orientation = Orientation.Horizontal,
+                    SplitMode = MindMapTreeMode.Level
+                },
+                RefreshFrequency = RefreshFrequency.ArrangeParsing
+            };
+            isFlowChartLayout = false;
+        }
+
+        private void DiagramLayout_Unchecked(object sender, RoutedEventArgs e)
+        {
+            Diagram.LayoutManager = new LayoutManager()
+            {
+                Layout = new FlowchartLayout()
+                {
+                    Orientation = FlowchartOrientation.TopToBottom,
+                    YesBranchValues = new List<string> { "Yes", "True", "Y", "s" },
+                    YesBranchDirection = BranchDirection.LeftInFlow,
+                    NoBranchValues = new List<string> { "No", "N", "False", "no" },
+                    NoBranchDirection = BranchDirection.RightInFlow,
+                    HorizontalSpacing = 60,
+                    VerticalSpacing = 40,
+                },
+            };
+            isFlowChartLayout = true;
+        }
+
+        private void MermaidExamples_SelectionChanged(object sender, SelectionChangedEventArgs e)
+        {
+            Diagram.Theme = null;
+            switch (MermaidExamples.SelectedIndex)
+            {
+                case 0:
+                    {
+                        if (isFlowChartLayout)
+                            Diagram.LoadDiagramFromMermaid(flowChartMermaid1);
+                        else
+                        {
+                            Diagram.LoadDiagramFromMermaid(mindmapMermaid1);
+                            Diagram.LayoutManager = new LayoutManager()
+                            {
+                                Layout = new MindMapTreeLayout()
+                                {
+                                    HorizontalSpacing = 50,
+                                    VerticalSpacing = 30,
+                                    Orientation = Orientation.Horizontal,
+                                    SplitMode = MindMapTreeMode.Level
+                                },
+                                RefreshFrequency = RefreshFrequency.ArrangeParsing
+                            };
+                            Diagram.Theme = new OfficeTheme();
+                        } 
+                        break;
+                    }
+                case 1:
+                    {
+                        if (isFlowChartLayout)
+                            Diagram.LoadDiagramFromMermaid(flowChartMermaid2);
+                        else
+                        {
+                            Diagram.LoadDiagramFromMermaid(mindmapMermaid2);
+                            Diagram.LayoutManager = new LayoutManager()
+                            {
+                                Layout = new MindMapTreeLayout()
+                                {
+                                    HorizontalSpacing = 50,
+                                    VerticalSpacing = 30,
+                                    Orientation = Orientation.Horizontal,
+                                    SplitMode = MindMapTreeMode.Level
+                                },
+                                RefreshFrequency = RefreshFrequency.ArrangeParsing
+                            };
+                            Diagram.Theme = new OfficeTheme();
+                        } 
+                        break;
+                    }
+                case 2:
+                    {
+                        if (isFlowChartLayout)
+                            Diagram.LoadDiagramFromMermaid(flowChartMermaid3);
+                        else
+                        {
+                            Diagram.LoadDiagramFromMermaid(mindmapMermaid3);
+                            Diagram.LayoutManager = new LayoutManager()
+                            {
+                                Layout = new MindMapTreeLayout()
+                                {
+                                    HorizontalSpacing = 50,
+                                    VerticalSpacing = 30,
+                                    Orientation = Orientation.Horizontal,
+                                    SplitMode = MindMapTreeMode.Level
+                                },
+                                RefreshFrequency = RefreshFrequency.ArrangeParsing
+                            };
+                            Diagram.Theme = new OfficeTheme();
+                        } 
+                        break;
+                    }
+            }
+        }
+    }
+}
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.csproj b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.csproj
new file mode 100644
index 00000000..765873b7
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.csproj
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{C173EE8E-EC97-4C96-AB30-1A353271AA28}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <RootNamespace>MermaidTextToDiagramLayoutSupport</RootNamespace>
+    <AssemblyName>MermaidTextToDiagramLayoutSupport</AssemblyName>
+    <TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <WarningLevel>4</WarningLevel>
+    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <Deterministic>true</Deterministic>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Xaml">
+      <RequiredTargetFramework>4.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="WindowsBase" />
+    <Reference Include="PresentationCore" />
+    <Reference Include="PresentationFramework" />
+  </ItemGroup>
+  <ItemGroup>
+    <ApplicationDefinition Include="App.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </ApplicationDefinition>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Compile Include="App.xaml.cs">
+      <DependentUpon>App.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="MainWindow.xaml.cs">
+      <DependentUpon>MainWindow.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.sln b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.sln
new file mode 100644
index 00000000..4f0f2958
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.12.35506.116 d17.12
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayoutSupport_462", "MermaidTextToDiagramLayoutSupport_462.csproj", "{C173EE8E-EC97-4C96-AB30-1A353271AA28}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj
new file mode 100644
index 00000000..c3c8ea17
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj
@@ -0,0 +1,62 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net6.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>MermaidTextToDiagramLayoutSupport</AssemblyName>
+    <RootNamespace>MermaidTextToDiagramLayoutSupport</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.sln b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.sln
new file mode 100644
index 00000000..38d8c2fe
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31410.414
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayoutSupport_60", "MermaidTextToDiagramLayoutSupport_60.csproj", "{C173EE8E-EC97-4C96-AB30-1A353271AA28}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj
new file mode 100644
index 00000000..29671fb8
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj
@@ -0,0 +1,62 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net8.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>MermaidTextToDiagramLayoutSupport</AssemblyName>
+    <RootNamespace>MermaidTextToDiagramLayoutSupport</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.sln b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.sln
new file mode 100644
index 00000000..3101e0bd
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.8.226.21692
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayoutSupport_80", "MermaidTextToDiagramLayoutSupport_80.csproj", "{C173EE8E-EC97-4C96-AB30-1A353271AA28}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj
new file mode 100644
index 00000000..9e4a0e90
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj
@@ -0,0 +1,62 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net9.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>MermaidTextToDiagramLayoutSupport</AssemblyName>
+    <RootNamespace>MermaidTextToDiagramLayoutSupport</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.sln b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.sln
new file mode 100644
index 00000000..ff54c554
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35017.193
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayoutSupport_90", "MermaidTextToDiagramLayoutSupport_90.csproj", "{C173EE8E-EC97-4C96-AB30-1A353271AA28}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/AssemblyInfo.cs b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..283005d7
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/AssemblyInfo.cs
@@ -0,0 +1,52 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("MermaidTextToDiagramLayoutSupport")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("MermaidTextToDiagramLayoutSupport")]
+[assembly: AssemblyCopyright("Copyright ©  2024")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
+//inside a <PropertyGroup>.  For example, if you are using US english
+//in your source files, set the <UICulture> to en-US.  Then uncomment
+//the NeutralResourceLanguage attribute below.  Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+                                     //(used if a resource is not found in the page,
+                                     // or application resource dictionaries)
+    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+                                              //(used if a resource is not found in the page,
+                                              // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version
+//      Build Number
+//      Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.Designer.cs b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.Designer.cs
new file mode 100644
index 00000000..04c28ffb
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace MermaidTextToDiagramLayoutSupport.Properties
+{
+
+
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources
+    {
+
+        private static global::System.Resources.ResourceManager resourceMan;
+
+        private static global::System.Globalization.CultureInfo resourceCulture;
+
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources()
+        {
+        }
+
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager
+        {
+            get
+            {
+                if ((resourceMan == null))
+                {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MermaidTextToDiagramLayoutSupport.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture
+        {
+            get
+            {
+                return resourceCulture;
+            }
+            set
+            {
+                resourceCulture = value;
+            }
+        }
+    }
+}
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.resx b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.resx
new file mode 100644
index 00000000..af7dbebb
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.resx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.Designer.cs b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.Designer.cs
new file mode 100644
index 00000000..0c00e180
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace MermaidTextToDiagramLayoutSupport.Properties
+{
+
+
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+    {
+
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+        public static Settings Default
+        {
+            get
+            {
+                return defaultInstance;
+            }
+        }
+    }
+}
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.settings b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.settings
new file mode 100644
index 00000000..033d7a5e
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.settings
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
\ No newline at end of file
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/README.md b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/README.md
new file mode 100644
index 00000000..6ff7394a
--- /dev/null
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/README.md
@@ -0,0 +1,12 @@
+# Mermaid Text to Diagram Layout sample
+This sample demonstrates how to create a diagram layout using Mermaid text as input and how to retrieve Mermaid text from the diagram layout.
+
+__*Documentation*__: https://help.syncfusion.com/wpf/diagram/serialization
+## Project pre-requisites
+To run this application, you need to have the below two in your system
+
+* [Visual Studio 2019](https://www.visualstudio.com/wpf-vs)
+* [Syncfusion.SfDiagram.WPF](https://www.nuget.org/packages/Syncfusion.SfDiagram.WPF/) nuget package. To install the package using NuGet Package Manager, refer this [link](https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio#nuget-package-manager).
+
+## Deploying and running the sample
+* To debug the sample and then run it, press F5 or select Debug > Start Debugging. To run the sample without debugging, press Ctrl+F5 or selectDebug > Start Without Debugging.
diff --git a/Samples/Stencil/SymbolGroupSerialize/README.md b/Samples/Stencil/SymbolGroupSerialize/README.md
new file mode 100644
index 00000000..ded1fba5
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/README.md
@@ -0,0 +1,18 @@
+# Sample to Serialize symbolgroups in stencil
+
+This repository contains sample which shows how to serialize symbolgroups in stencil.
+
+__*Documentation*__: https://help.syncfusion.com/wpf/diagram/stencil
+
+## Project pre-requisites
+
+To run this application, you need to have the below two in your system
+
+* [Visual Studio 2019](https://www.visualstudio.com/wpf-vs)
+* [Syncfusion.SfDiagram.WPF](https://www.nuget.org/packages/Syncfusion.SfDiagram.WPF/) nuget package. To install the package using NuGet Package Manager, refer this [link](https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio#nuget-package-manager).
+
+## Deploying and running the sample
+
+* To debug the sample and then run it, press F5 or select Debug > Start Debugging. To run the sample without debugging, press Ctrl+F5 or selectDebug > Start Without Debugging.
+
+KB article - [Sample to add user controls in stencil](https://www.syncfusion.com/kb/11459/how-to-use-different-user-controls-into-stencil-in-the-wpf-diagram-sfdiagram)
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.config b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.config
new file mode 100644
index 00000000..8d234373
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
+    </startup>
+</configuration>
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.xaml b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.xaml
new file mode 100644
index 00000000..c8bc1979
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.xaml
@@ -0,0 +1,831 @@
+<Application x:Class="StencilCategorySample.App"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:local="clr-namespace:StencilCategorySample"
+             xmlns:sys="clr-namespace:System;assembly=mscorlib"
+             xmlns:Syncfusion="http://schemas.syncfusion.com/wpf" 
+             xmlns:Stencil="clr-namespace:Syncfusion.UI.Xaml.Diagram.Stencil;assembly=Syncfusion.SfDiagram.Wpf"
+             StartupUri="MainWindow.xaml">
+    <Application.Resources>
+        <ResourceDictionary>
+            <ResourceDictionary.MergedDictionaries>
+                <!--Dictionary which contains the inbuilt shapes-->
+                <ResourceDictionary Source="/Syncfusion.SfDiagram.Wpf;component/Resources/BasicShapes.xaml" />
+            </ResourceDictionary.MergedDictionaries>
+
+            <!--custom path data-->
+            <sys:String x:Key="CustomPath">
+                F1M1.66,0.25C0.882,0.25,0.25,0.881,0.25,1.66L0.25,24.622C0.25,25.401,0.882,26.032,1.66,26.032L4.48,26.032C5.259,26.032,5.89,25.401,5.89,24.622L5.89,1.66C5.89,0.881,5.259,0.25,4.48,0.25z
+            </sys:String>
+
+            <DataTemplate x:Key="singleSofa">
+                <Viewbox Stretch="Fill">
+                    <Grid>
+                        <Grid Height="26.282" Canvas.Left="607.871" Canvas.Top="397.714" Width="22.907">
+                            <Path Data="F1M1.66,0.25C0.882,0.25,0.25,0.881,0.25,1.66L0.25,24.622C0.25,25.401,0.882,26.032,1.66,26.032L4.48,26.032C5.259,26.032,5.89,25.401,5.89,24.622L5.89,1.66C5.89,0.881,5.259,0.25,4.48,0.25z" Fill="#FFFF99CC" Stroke="#FFBE1E2D" StrokeThickness="0.5" Margin="16.767,0,0,0"/>
+                            <Path Data="F1M1.66,0.25C0.882,0.25,0.25,0.881,0.25,1.659L0.25,4.038C0.25,4.817,0.882,5.448,1.66,5.448L15.581,5.448C16.36,5.448,16.991,4.817,16.991,4.038L16.991,1.659C16.991,0.881,16.36,0.25,15.581,0.25z" Fill="#FFFF99CC" Stroke="#FFBE1E2D" StrokeThickness="0.5" Margin="0.026,20.584,5.64,0"/>
+                            <Path Data="F1M1.66,0.25C0.882,0.25,0.25,0.881,0.25,1.659L0.25,4.038C0.25,4.817,0.882,5.448,1.66,5.448L15.581,5.448C16.36,5.448,16.991,4.817,16.991,4.038L16.991,1.659C16.991,0.881,16.36,0.25,15.581,0.25z" Fill="#FFFF99CC" Stroke="#FFBE1E2D" StrokeThickness="0.5" Margin="0.026,0.059,5.64,20.525"/>
+                            <Path Data="F1M1.66,0.25C0.881,0.25,0.25,0.881,0.25,1.66L0.25,13.907C0.25,14.686,0.881,15.317,1.66,15.317L15.582,15.317C16.36,15.317,16.991,14.686,16.991,13.907L16.991,1.66C16.991,0.881,16.36,0.25,15.582,0.25z" Fill="#FFFF6699" Stroke="#FFBE1E2D" StrokeThickness="0.5" Margin="0,5.258,5.666,5.457"/>
+                            <Path Data="F1M0,3.53L0.349,3.879 3.88,0.348 3.531,0z" Fill="#FFFF99CC" Margin="9.552,8.654,9.475,13.749"/>
+                            <Path Data="F1M0,0.349L3.531,3.879 3.88,3.531 0.349,0z" Fill="#FFFF99CC" Margin="9.552,8.654,9.475,13.749"/>
+                            <Path Data="F1M0.937,0.001C0.443,-0.021 0.024,0.36 0.001,0.854 -0.022,1.349 0.36,1.767 0.854,1.789 1.348,1.813 1.766,1.431 1.791,0.937 1.812,0.443 1.43,0.025 0.937,0.001" Fill="#FFFF99CC" Margin="10.596,9.698,10.519,14.794"/>
+                            <Path Data="F1M0,0.65C0,0.997 0.272,1.283 0.619,1.297 0.793,1.305 0.959,1.246 1.086,1.129 1.215,1.012 1.29,0.852 1.299,0.679L1.299,0.677C1.299,0.3 1.027,0.016 0.681,0.001 0.507,-0.008 0.341,0.052 0.213,0.17 0.084,0.287 0.01,0.446 0.002,0.619z" Fill="#FFFF6699" Margin="10.842,9.945,10.766,15.039"/>
+                            <Path Data="F1M0,3.531L0.349,3.879 3.88,0.348 3.531,0z" Fill="#FFFF99CC" Margin="9.552,13.55,9.475,8.853"/>
+                            <Path Data="F1M0,0.349L3.531,3.879 3.88,3.532 0.349,0z" Fill="#FFFF99CC" Margin="9.552,13.549,9.475,8.854"/>
+                            <Path Data="F1M0.937,0.001C0.443,-0.021 0.024,0.361 0.001,0.855 -0.022,1.348 0.36,1.767 0.854,1.791 1.348,1.813 1.766,1.431 1.791,0.938 1.812,0.443 1.43,0.025 0.937,0.001" Fill="#FFFF99CC" Margin="10.596,14.594,10.519,9.896"/>
+                            <Path Data="F1M0,0.65C0,0.997 0.272,1.283 0.619,1.297 0.793,1.305 0.959,1.246 1.086,1.129 1.215,1.012 1.29,0.852 1.299,0.679L1.299,0.678C1.299,0.3 1.027,0.017 0.681,0 0.507,-0.006 0.341,0.053 0.213,0.17 0.084,0.287 0.01,0.447 0.002,0.619z" Fill="#FFFF6699" Margin="10.842,14.84,10.766,10.144"/>
+                            <Path Data="F1M0,3.53L0.349,3.879 3.88,0.347 3.53,0z" Fill="#FFFF99CC" Margin="3.81,11.102,15.217,11.301"/>
+                            <Path Data="F1M0,0.348L3.53,3.879 3.88,3.531 0.349,0z" Fill="#FFFF99CC" Margin="3.81,11.101,15.217,11.302"/>
+                            <Path Data="F1M0.937,0.001C0.443,-0.023 0.023,0.358 0.001,0.854 -0.022,1.346 0.359,1.766 0.854,1.788 1.347,1.813 1.766,1.43 1.789,0.936 1.812,0.442 1.43,0.023 0.937,0.001" Fill="#FFFF99CC" Margin="4.854,12.147,16.263,12.346"/>
+                            <Path Data="F1M0,0.65C0,0.999 0.272,1.282 0.618,1.298 0.793,1.305 0.959,1.246 1.087,1.129 1.215,1.012 1.29,0.852 1.298,0.679L1.298,0.678C1.298,0.301 1.027,0.017 0.68,0.001 0.507,-0.007 0.341,0.053 0.212,0.171 0.084,0.287 0.01,0.447 0.001,0.62z" Fill="#FFFF6699" Margin="5.1,12.392,16.509,12.592"/>
+                        </Grid>
+                    </Grid>
+                </Viewbox>
+            </DataTemplate>
+
+            <DataTemplate x:Key="mat">
+                <Viewbox Stretch="Fill">
+                    <Grid>
+                        <Path Margin="0,0,195.037,120.907"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="13.961,0,181.073,120.907"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.965,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="27.927,0,167.11,120.907"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="41.89,0,153.147,120.907"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="55.853,0,139.182,120.907"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.965,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="69.818,0,125.219,120.907"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="83.781,0,111.256,120.907"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="97.744,0,97.292,120.907"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="111.708,0,83.328,120.907"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="125.671,0,69.366,120.907"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="139.633,0,55.402,120.907"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="153.598,0,41.438,120.907"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="167.562,0,27.475,120.907"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="181.525,0,13.511,120.907"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="195.489,0,-0.453,120.907"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="0,12.092,195.037,108.815"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="13.961,12.092,181.073,108.815"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.965,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="27.927,12.092,167.11,108.815"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="41.89,12.092,153.147,108.815"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="55.853,12.092,139.182,108.815"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.965,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="69.818,12.092,125.219,108.815"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="83.781,12.092,111.256,108.815"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="97.744,12.092,97.292,108.815"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="111.708,12.092,83.328,108.815"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="125.671,12.092,69.366,108.815"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="139.633,12.092,55.402,108.815"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="153.598,12.092,41.438,108.815"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="167.562,12.092,27.475,108.815"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="181.525,12.092,13.511,108.815"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="195.489,12.092,-0.453,108.815"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="13.961,120.925,181.073,-0.018"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.965,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="27.927,120.925,167.11,-0.018"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="41.89,120.925,153.147,-0.018"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="55.853,120.925,139.182,-0.018"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.965,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="69.818,120.925,125.219,-0.018"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="83.781,120.925,111.256,-0.018"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="97.744,120.925,97.292,-0.018"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="111.708,120.925,83.328,-0.018"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="125.671,120.925,69.366,-0.018"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="139.633,120.925,55.402,-0.018"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="153.598,120.925,41.438,-0.018"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="167.562,120.925,27.475,-0.018"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="181.525,120.925,13.511,-0.018"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="155.081,95.931,42.841,27.476"
+                      Data="F1M2.769,9.593L0,4.797 2.769,0 8.309,0 11.078,4.797 8.309,9.593z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="0,24.186,195.037,96.722"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="13.961,24.186,181.073,96.722"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.965,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="27.927,24.186,167.11,96.722"
+                      Data="F1M3.489,12.092L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="41.89,24.186,153.147,96.722"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="55.853,24.186,139.182,96.722"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.965,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="69.818,24.186,125.219,96.722"
+                      Data="F1M3.489,12.092L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="83.781,24.186,111.256,96.722"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="97.744,24.186,97.292,96.722"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="111.708,24.186,83.328,96.722"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="125.671,24.186,69.366,96.722"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="139.633,24.186,55.402,96.722"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="153.598,24.186,41.438,96.722"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="167.562,24.186,27.475,96.722"
+                      Data="F1M3.489,12.092L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="181.525,24.186,13.511,96.722"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="195.489,24.186,-0.453,96.722"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="0,36.278,195.037,84.629"
+                      Data="F1M3.49,12.092L0,6.046 3.49,-0.001 10.473,-0.001 13.963,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="13.961,36.278,181.073,84.629"
+                      Data="F1M3.49,12.092L0,6.046 3.49,-0.001 10.473,-0.001 13.965,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="27.927,36.278,167.11,84.629"
+                      Data="F1M3.489,12.092L0,6.046 3.489,-0.001 10.472,-0.001 13.963,6.046 10.472,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="41.89,36.278,153.147,84.629"
+                      Data="F1M3.49,12.092L0,6.046 3.49,-0.001 10.473,-0.001 13.963,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="55.853,36.278,139.182,84.629"
+                      Data="F1M3.491,12.092L0,6.046 3.491,-0.001 10.473,-0.001 13.965,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="69.818,36.278,125.219,84.629"
+                      Data="F1M3.489,12.092L0,6.046 3.489,-0.001 10.472,-0.001 13.963,6.046 10.472,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="83.781,36.278,111.256,84.629"
+                      Data="F1M3.49,12.092L0,6.046 3.49,-0.001 10.472,-0.001 13.963,6.046 10.472,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="97.744,36.278,97.292,84.629"
+                      Data="F1M3.491,12.092L0,6.046 3.491,-0.001 10.473,-0.001 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="111.708,36.278,83.328,84.629"
+                      Data="F1M3.49,12.092L0,6.046 3.49,-0.001 10.473,-0.001 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="125.671,36.278,69.366,84.629"
+                      Data="F1M3.49,12.092L0,6.046 3.49,-0.001 10.472,-0.001 13.963,6.046 10.472,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="139.633,36.278,55.402,84.629"
+                      Data="F1M3.491,12.092L0,6.046 3.491,-0.001 10.473,-0.001 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="153.598,36.278,41.438,84.629"
+                      Data="F1M3.49,12.092L0,6.046 3.49,-0.001 10.473,-0.001 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="167.562,36.278,27.475,84.629"
+                      Data="F1M3.489,12.092L0,6.046 3.489,-0.001 10.472,-0.001 13.963,6.046 10.472,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="181.525,36.278,13.511,84.629"
+                      Data="F1M3.491,12.092L0,6.046 3.491,-0.001 10.473,-0.001 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="195.489,36.278,-0.453,84.629"
+                      Data="F1M3.49,12.092L0,6.046 3.49,-0.001 10.473,-0.001 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="0,48.37,195.037,72.537"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="13.961,48.37,181.073,72.537"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.965,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="27.927,48.37,167.11,72.537"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="41.89,48.37,153.147,72.537"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="55.853,48.37,139.182,72.537"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.965,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="69.818,48.37,125.219,72.537"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="83.781,48.37,111.256,72.537"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="97.744,48.37,97.292,72.537"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="111.708,48.37,83.328,72.537"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="125.671,48.37,69.366,72.537"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="139.633,48.37,55.402,72.537"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="153.598,48.37,41.438,72.537"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="167.562,48.37,27.475,72.537"
+                      Data="F1M3.489,12.093L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="181.525,48.37,13.511,72.537"
+                      Data="F1M3.491,12.093L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="195.489,48.37,-0.453,72.537"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="0,60.463,195.037,60.445"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="13.961,60.463,181.073,60.445"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.965,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="27.927,60.463,167.11,60.445"
+                      Data="F1M3.489,12.092L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="41.89,60.463,153.147,60.445"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="55.853,60.463,139.182,60.445"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.965,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="69.818,60.463,125.219,60.445"
+                      Data="F1M3.489,12.092L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="83.781,60.463,111.256,60.445"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="97.744,60.463,97.292,60.445"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="111.708,60.463,83.328,60.445"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="125.671,60.463,69.366,60.445"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="139.633,60.463,55.402,60.445"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="153.598,60.463,41.438,60.445"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="167.562,60.463,27.475,60.445"
+                      Data="F1M3.489,12.092L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="181.525,60.463,13.511,60.445"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="195.489,60.463,-0.453,60.445"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="0,72.555,195.037,48.352"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.963,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="13.961,72.555,181.073,48.352"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.965,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="27.927,72.555,167.11,48.352"
+                      Data="F1M3.489,12.093L0,6.047 3.489,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="41.89,72.555,153.147,48.352"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.963,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="55.853,72.555,139.182,48.352"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.965,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="69.818,72.555,125.219,48.352"
+                      Data="F1M3.489,12.093L0,6.047 3.489,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="83.781,72.555,111.256,48.352"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="97.744,72.555,97.292,48.352"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="111.708,72.555,83.328,48.352"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="125.671,72.555,69.366,48.352"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="139.633,72.555,55.402,48.352"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="153.598,72.555,41.438,48.352"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="167.562,72.555,27.475,48.352"
+                      Data="F1M3.489,12.093L0,6.047 3.489,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="181.525,72.555,13.511,48.352"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="195.489,72.555,-0.453,48.352"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="0,84.648,195.037,36.259"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.963,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="13.961,84.648,181.073,36.259"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.965,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="27.927,84.648,167.11,36.259"
+                      Data="F1M3.489,12.093L0,6.047 3.489,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="41.89,84.648,153.147,36.259"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.963,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="55.853,84.648,139.182,36.259"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.965,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="69.818,84.648,125.219,36.259"
+                      Data="F1M3.489,12.093L0,6.047 3.489,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="83.781,84.648,111.256,36.259"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="97.744,84.648,97.292,36.259"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="111.708,84.648,83.328,36.259"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="125.671,84.648,69.366,36.259"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="139.633,84.648,55.402,36.259"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="153.598,84.648,41.438,36.259"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="167.562,84.648,27.475,36.259"
+                      Data="F1M3.489,12.093L0,6.047 3.489,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="181.525,84.648,13.511,36.259"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="195.489,84.648,-0.453,36.259"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="0,96.741,195.037,24.167"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="13.961,96.741,181.073,24.167"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.965,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="27.927,96.741,167.11,24.167"
+                      Data="F1M3.489,12.092L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="41.89,96.741,153.147,24.167"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="55.853,96.741,139.182,24.167"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.965,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="69.818,96.741,125.219,24.167"
+                      Data="F1M3.489,12.092L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="83.781,96.741,111.256,24.167"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="97.744,96.741,97.292,24.167"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="111.708,96.741,83.328,24.167"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="125.671,96.741,69.366,24.167"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="139.633,96.741,55.402,24.167"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="153.598,96.741,41.438,24.167"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="167.562,96.741,27.475,24.167"
+                      Data="F1M3.489,12.092L0,6.046 3.489,0 10.472,0 13.963,6.046 10.472,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="181.525,96.741,13.511,24.167"
+                      Data="F1M3.491,12.092L0,6.046 3.491,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="195.489,96.741,-0.453,24.167"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="195.489,120.926,-0.453,-0.018"
+                      Data="F1M3.49,12.092L0,6.046 3.49,0 10.473,0 13.964,6.046 10.473,12.092z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="0,108.833,195.037,12.074"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.963,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="13.961,108.833,181.073,12.074"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.965,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="27.927,108.833,167.11,12.074"
+                      Data="F1M3.489,12.093L0,6.047 3.489,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="41.89,108.833,153.147,12.074"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.963,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="55.853,108.833,139.182,12.074"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.965,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="69.818,108.833,125.219,12.074"
+                      Data="F1M3.489,12.093L0,6.047 3.489,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="83.781,108.833,111.256,12.074"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="97.744,108.833,97.292,12.074"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="111.708,108.833,83.328,12.074"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="125.671,108.833,69.366,12.074"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="139.633,108.833,55.402,12.074"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="153.598,108.833,41.438,12.074"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="167.562,108.833,27.475,12.074"
+                      Data="F1M3.489,12.093L0,6.047 3.489,0 10.472,0 13.963,6.047 10.472,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="181.525,108.833,13.511,12.074"
+                      Data="F1M3.491,12.093L0,6.047 3.491,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                        <Path Margin="195.489,108.833,-0.453,12.074"
+                      Data="F1M3.49,12.093L0,6.047 3.49,0 10.473,0 13.964,6.047 10.473,12.093z"
+                      Fill="#FFBF906A"
+                      UseLayoutRounding="False" />
+                        <Path Margin="0,120.925,195.037,-0.018"
+                      Data="F1M3.49,12.093L0,6.046 3.49,0 10.473,0 13.963,6.046 10.473,12.093z"
+                      Fill="#FFE89C56"
+                      UseLayoutRounding="False" />
+                    </Grid>
+                </Viewbox>
+            </DataTemplate>
+
+            <x:Array Type="sys:String" x:Key="customShapeCollection">
+                <sys:String>Rectangle</sys:String>
+                <sys:String>Cube</sys:String>
+                <sys:String>Triangle</sys:String>
+                <sys:String>Ellipse</sys:String>
+                <sys:String>CustomPath</sys:String>
+                <sys:String>singleSofa</sys:String>
+                <sys:String>mat</sys:String>
+            </x:Array>
+
+            <!--Style for Node-->
+            <Style TargetType="Syncfusion:Node">
+                <Setter Property="ShapeStyle">
+                    <Setter.Value>
+                        <Style TargetType="Path">
+                            <Setter Property="Fill" Value="CornflowerBlue"/>
+                            <Setter Property="Stroke" Value="#727272"/>
+                            <Setter Property="Stretch" Value="Fill"/>
+                        </Style>
+                    </Setter.Value>
+                </Setter>
+            </Style>
+
+            <Style TargetType="Syncfusion:Connector">
+                <Setter Property="ConnectorGeometryStyle">
+                    <Setter.Value>
+                        <Style TargetType="Path">
+                            <Setter Property="Stroke" Value="#6BA5D7"/>
+                            <Setter Property="StrokeThickness" Value="1"/>
+                        </Style>
+                    </Setter.Value>
+                </Setter>
+                <Setter Property="TargetDecoratorStyle">
+                    <Setter.Value>
+                        <Style TargetType="Path">
+                            <Setter Property="Fill" Value="#6BA5D7"/>
+                            <Setter Property="StrokeThickness" Value="1"/>
+                        </Style>
+                    </Setter.Value>
+                </Setter>
+            </Style>
+
+            <Style TargetType="Path" x:Key="NodeStyle">
+                <Setter Property="Fill" Value="CornflowerBlue"/>
+                <Setter Property="Stroke" Value="#FFC8C8C8 "/>
+                <Setter Property="StrokeThickness" Value="1"/>
+                <Setter Property="Stretch" Value="Fill"/>
+            </Style>
+
+            <Style TargetType="Path" x:Key="ElectricNodeStyle">
+                <Setter Property="Stroke" Value="Black"/>
+                <Setter Property="StrokeThickness" Value="1"/>
+                <Setter Property="Stretch" Value="Fill"/>
+            </Style>
+
+            <!--Style for Symbol-->
+            <Style TargetType="Stencil:Symbol">
+                <Setter Property="Margin" Value="4"></Setter>
+                <Setter Property="Background" Value="Transparent" />
+                <Setter Property="BorderBrush" Value="Transparent" />
+                <Setter Property="HorizontalAlignment" Value="Center"/>
+                <Setter Property="VerticalAlignment" Value="Center"/>
+                <Setter Property="ToolTip" Value="{Binding ToolTip}" />
+                <Setter Property="Width" Value="50" />
+                <Setter Property="Height" Value="50" />
+            </Style>
+
+            <!--Style for Symbol Group-->
+            <!--<Style TargetType="Stencil:SymbolGroup">
+                <Setter Property="FontFamily" Value="Regular"/>
+                <Setter Property="Background" Value="#ffffff"/>
+                <Setter Property="Foreground" Value="#222222"/>
+                <Setter Property="FontSize" Value="14"/>
+                <Setter Property="HeaderTemplate">
+                    <Setter.Value>
+                        <DataTemplate>
+                            <Stencil:Header>
+                                <Stencil:Header.Template>
+                                    <ControlTemplate TargetType="Stencil:Header">
+                                        <Grid>
+                                            <Border x:Name="header" 
+                                                    Background="#f5f5f5" 
+                                                    BorderBrush="#dfdfdf" 
+                                                    BorderThickness="1">
+                                                <ContentPresenter Margin="10" Content="{Binding}"/>
+                                            </Border>
+                                        </Grid>
+                                    </ControlTemplate>
+                                </Stencil:Header.Template>
+                            </Stencil:Header>
+                        </DataTemplate>
+                    </Setter.Value>
+                </Setter>
+            </Style>-->
+            <DataTemplate x:Key="Diamond">
+                <StackPanel>
+                    <Path Stretch="Fill"
+              Data="M 397.784,287.875L 369.5,316.159L 341.216,287.875L 369.5,259.591L 397.784,287.875 Z"
+              Fill="White"
+              Stroke="Black"
+              StrokeThickness="1" />
+                    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="Diamond" />
+                </StackPanel>
+            </DataTemplate>
+            <DataTemplate x:Key="symboltemplate">
+                <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" >
+                        <Image Source="User.jpg" 
+                                Stretch="Fill" HorizontalAlignment="Center" VerticalAlignment="Center" />
+                </StackPanel>
+
+            </DataTemplate>
+
+        </ResourceDictionary>
+    </Application.Resources>
+</Application>
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.xaml.cs b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.xaml.cs
new file mode 100644
index 00000000..6e05ee79
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace StencilCategorySample
+{
+    /// <summary>
+    /// Interaction logic for App.xaml
+    /// </summary>
+    public partial class App : Application
+    {
+    }
+}
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/MainWindow.xaml b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/MainWindow.xaml
new file mode 100644
index 00000000..8376874c
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/MainWindow.xaml
@@ -0,0 +1,193 @@
+<Window x:Class="StencilCategorySample.MainWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:StencilCategorySample"
+        mc:Ignorable="d"
+        xmlns:RulerControl="clr-namespace:Syncfusion.UI.Xaml.Diagram.Controls;assembly=Syncfusion.SfDiagram.Wpf"
+        xmlns:stencil="clr-namespace:Syncfusion.UI.Xaml.Diagram.Stencil;assembly=Syncfusion.SfDiagram.Wpf"
+        xmlns:syncfusion="http://schemas.syncfusion.com/wpf" 
+        Title="MainWindow" Height="450" Width="800" WindowState="Maximized">
+    <Grid>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="2.8*"/>
+            <ColumnDefinition Width="8*"/>
+            <ColumnDefinition Width="2.8*"/>
+        </Grid.ColumnDefinitions>
+
+        <!--Stencil 1-->
+        <Grid Background="White">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="auto"/>
+                <RowDefinition Height="auto"/>
+                <RowDefinition Height="auto"/>
+                <RowDefinition Height="*"/>
+            </Grid.RowDefinitions>
+            <TextBlock Text="Stencil 1" Grid.Row="0" FontWeight="Bold" FontSize="15" Margin="10 10 0 0"/>
+            <StackPanel Grid.Row="1" Margin="10">
+                <TextBlock Text="Symbol Group Display Mode" Margin="0 5" FontWeight="SemiBold"/>
+                <ComboBox x:Name="SymbolGroupDisplayMode" HorizontalAlignment="Stretch" Height="30" SelectedIndex="0" SelectionChanged="SymbolGroupDisplayMode_SelectionChanged" >
+                    <ComboBoxItem>Accordion</ComboBoxItem>
+                    <ComboBoxItem>Tab</ComboBoxItem>
+                    <ComboBoxItem>List</ComboBoxItem>
+                </ComboBox>
+
+            </StackPanel>
+            
+            <StackPanel Margin="10 0 10 10"  Grid.Row="2">
+                <TextBlock Text="Expand Mode" Margin="0 5" FontWeight="SemiBold"/>
+                <ComboBox x:Name="ExpandMode" HorizontalAlignment="Stretch" Height="30" SelectedIndex="4" SelectionChanged="ExpandMode_SelectionChanged" >
+                    <ComboBoxItem>All</ComboBoxItem>
+                    <ComboBoxItem>One</ComboBoxItem>
+                    <ComboBoxItem>OneOrMore</ComboBoxItem>
+                    <ComboBoxItem>ZeroOrMore</ComboBoxItem>
+                    <ComboBoxItem>ZeroOrOne</ComboBoxItem>
+                </ComboBox>
+            </StackPanel>
+            <syncfusion:Stencil x:Name="stencil1" 
+                            DisplayMode="Expanded"
+                            ExpandMode="ZeroOrOne" ShowSearchTextBox="False"
+                            ShowDisplayModeToggleButton="False"
+                            Grid.Row="3" Constraints="Default" GroupMappingName="Key">
+
+                <stencil:Stencil.SymbolSource>
+                    <syncfusion:SymbolCollection>
+                        <syncfusion:SymbolViewModel Key="Symbols" >
+                            <syncfusion:SymbolViewModel.Symbol>
+                                <syncfusion:NodeViewModel UnitHeight="100" UnitWidth="100" Shape="{StaticResource Ellipse}"  ShapeStyle="{StaticResource NodeStyle}" />
+                            </syncfusion:SymbolViewModel.Symbol>
+                        </syncfusion:SymbolViewModel>
+
+                        <syncfusion:SymbolViewModel Key="Symbols">
+                            <syncfusion:SymbolViewModel.Symbol>
+                                <syncfusion:GroupViewModel>
+                                    <syncfusion:GroupViewModel.Nodes>
+                                        <syncfusion:NodeCollection>
+                                            <syncfusion:NodeViewModel ID="srcnode"
+                                                  UnitHeight="70"
+                                                  UnitWidth="100"
+                                                  OffsetX="0"
+                                                  OffsetY="300"
+                                                  Shape="{StaticResource Rectangle}" ShapeStyle="{StaticResource NodeStyle}" >
+                                            </syncfusion:NodeViewModel>
+                                            <syncfusion:NodeViewModel ID="tarnode"
+                                                  UnitHeight="70"
+                                                  OffsetX="100"
+                                                  OffsetY="500"
+                                                  UnitWidth="100"
+                                                  Shape="{StaticResource Rectangle}" ShapeStyle="{StaticResource NodeStyle}" >
+                                            </syncfusion:NodeViewModel>
+                                        </syncfusion:NodeCollection>
+                                    </syncfusion:GroupViewModel.Nodes>
+                                    <syncfusion:GroupViewModel.Connectors>
+                                        <syncfusion:ConnectorCollection>
+                                            <syncfusion:ConnectorViewModel SourceNodeID="srcnode"
+                                                       TargetNodeID="tarnode" />
+                                        </syncfusion:ConnectorCollection>
+                                    </syncfusion:GroupViewModel.Connectors>
+                                </syncfusion:GroupViewModel>
+                            </syncfusion:SymbolViewModel.Symbol>
+                        </syncfusion:SymbolViewModel>
+
+                        <syncfusion:SymbolViewModel Key="Symbols">
+                            <syncfusion:SymbolViewModel.Symbol>
+                                <syncfusion:ConnectorViewModel SourcePoint="100,100" TargetPoint="200,200"/>
+                            </syncfusion:SymbolViewModel.Symbol>
+                        </syncfusion:SymbolViewModel>
+
+                        <syncfusion:SymbolViewModel Symbol="User" Key="Image"
+                                        SymbolTemplate="{StaticResource symboltemplate}" />
+
+                    </syncfusion:SymbolCollection>
+                </stencil:Stencil.SymbolSource>
+
+                <syncfusion:Stencil.SymbolGroups>
+                    <syncfusion:SymbolGroups>
+                        <syncfusion:SymbolGroupViewModel Name="Basic Shapes" CategorySource="{StaticResource BasicShapes}"/>
+                        <syncfusion:SymbolGroupViewModel Name="BPMNEditor Shapes" CategorySource="{StaticResource BPMNEditorShapes}"/>
+                        <syncfusion:SymbolGroupViewModel Name="Custom Shapes" CategorySource="{StaticResource customShapeCollection}"/>
+                    </syncfusion:SymbolGroups>
+                </syncfusion:Stencil.SymbolGroups>
+            </syncfusion:Stencil>
+        </Grid>
+
+        <!--Stencil 2-->
+        <Grid Background="White" Grid.Column="2">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="auto"/>
+                <RowDefinition Height="auto"/>
+                <RowDefinition Height="auto"/>
+                <RowDefinition Height="*"/>
+            </Grid.RowDefinitions>
+            <TextBlock Text="Stencil 2" Grid.Row="0" FontWeight="Bold" FontSize="15" Margin="10 10 0 0"/>
+
+            <StackPanel Grid.Row="1" Margin="10">
+                <TextBlock Text="Symbol Group Display Mode" Margin="0 5" FontWeight="SemiBold"/>
+                <ComboBox x:Name="SymbolGroupDisplayMode2" HorizontalAlignment="Stretch"   Height="30" SelectedIndex="0" SelectionChanged="SymbolGroupDisplayMode2_SelectionChanged"  >
+                    <ComboBoxItem>Accordion</ComboBoxItem>
+                    <ComboBoxItem>Tab</ComboBoxItem>
+                    <ComboBoxItem>List</ComboBoxItem>
+                </ComboBox>
+            </StackPanel>
+
+            <StackPanel Margin="10 0 10 10"  Grid.Row="2">
+                <TextBlock Text="Expand Mode" Margin="0 5" FontWeight="SemiBold"/>
+                <ComboBox x:Name="ExpandMode2" HorizontalAlignment="Stretch" Height="30" SelectedIndex="4" SelectionChanged="ExpandMode2_SelectionChanged"  >
+                    <ComboBoxItem>All</ComboBoxItem>
+                    <ComboBoxItem>One</ComboBoxItem>
+                    <ComboBoxItem>OneOrMore</ComboBoxItem>
+                    <ComboBoxItem>ZeroOrMore</ComboBoxItem>
+                    <ComboBoxItem>ZeroOrOne</ComboBoxItem>
+                </ComboBox>
+            </StackPanel>
+
+            <syncfusion:Stencil x:Name="stencil2"  
+                            DisplayMode="Expanded" ShowSearchTextBox="False"
+                            ExpandMode="ZeroOrOne"
+                            ShowDisplayModeToggleButton="False"
+                            Grid.Row="3" Constraints="Default" GroupMappingName="Key">
+            </syncfusion:Stencil>
+        </Grid>
+
+
+        <!--Initializes Diagram-->
+        <syncfusion:SfDiagram x:Name="diagram" 
+                              Grid.Column="1">
+            <syncfusion:SfDiagram.Nodes>
+                <syncfusion:NodeCollection/>
+            </syncfusion:SfDiagram.Nodes>
+
+            <syncfusion:SfDiagram.Connectors>
+                <syncfusion:ConnectorCollection/>
+            </syncfusion:SfDiagram.Connectors>
+
+            <syncfusion:SfDiagram.SnapSettings>
+                <syncfusion:SnapSettings SnapConstraints="ShowLines"/>
+            </syncfusion:SfDiagram.SnapSettings>
+
+            <syncfusion:SfDiagram.Groups>
+                <syncfusion:GroupCollection/>
+            </syncfusion:SfDiagram.Groups>
+
+            <syncfusion:SfDiagram.HorizontalRuler>
+                <syncfusion:Ruler/>
+            </syncfusion:SfDiagram.HorizontalRuler>
+
+            <syncfusion:SfDiagram.VerticalRuler>
+                <syncfusion:Ruler Orientation="Vertical"/>
+            </syncfusion:SfDiagram.VerticalRuler>
+
+        </syncfusion:SfDiagram>
+
+        <!--Save Btn-->
+        <Button Grid.Column="1" Background="CornflowerBlue" BorderThickness="0" Foreground="GhostWhite" Content="Save SymbolGroup" HorizontalAlignment="Left" Height="34" Padding="5" Margin="57,139,0,0" VerticalAlignment="Top" Click="Save" Width="113"/>
+        <!--Load Btn-->
+        <Button Grid.Column="1" Background="CornflowerBlue" BorderThickness="0" Foreground="GhostWhite" Content="Load SymbolGroup" HorizontalAlignment="Left" Height="34" Padding="5" Margin="186,139,0,0" VerticalAlignment="Top" Click="Load"/>
+        <!--Input-->
+        <TextBox Name="Textbox" Grid.Column="1"  FontSize="16" BorderBrush="Black" Padding="5" BorderThickness="1" Background="AliceBlue" HorizontalAlignment="Left" Margin="56,60,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="244" Height="63"/>
+
+
+
+    </Grid>
+</Window>
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/MainWindow.xaml.cs b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/MainWindow.xaml.cs
new file mode 100644
index 00000000..491ee8fc
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/MainWindow.xaml.cs
@@ -0,0 +1,185 @@
+using Microsoft.Win32;
+using Syncfusion.UI.Xaml.Diagram;
+using Syncfusion.UI.Xaml.Diagram.Controls;
+using Syncfusion.UI.Xaml.Diagram.Stencil;
+using Syncfusion.UI.Xaml.Diagram.Stencil.Serializer;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace StencilCategorySample
+{
+    /// <summary>
+    /// Interaction logic for MainWindow.xaml
+    /// </summary>
+    public partial class MainWindow : Window
+    {
+        public MainWindow()
+        {
+            InitializeComponent();
+            (diagram.Info as IGraphInfo).ItemAdded += MainWindow_ItemAdded;
+        }
+
+        private void MainWindow_ItemAdded(object sender, ItemAddedEventArgs args)
+        {
+            if (args.Item is NodeViewModel)
+            {
+                NodeViewModel symbol = args.Item as NodeViewModel;
+                if (symbol.Name == "single Sofa")
+                {
+                    symbol.ContentTemplate = (DataTemplate)App.Current.Resources["singleSofa"];
+                }
+                if (symbol.Name == "mat")
+                {
+                    symbol.ContentTemplate = (DataTemplate)App.Current.Resources["mat"];
+                }
+            }
+        }
+
+        private void Save(object sender, RoutedEventArgs e)
+        {
+            SaveFileDialog dialog = new SaveFileDialog();
+            dialog.Title = "Save XAML";
+
+            dialog.Filter = "XAML File (*.xaml)|*.xaml";
+            if (dialog.ShowDialog() == true)
+            {
+                using (Stream s = File.Open(dialog.FileName, FileMode.OpenOrCreate))
+                {
+                    stencil1.ExportGroup(s, Textbox.Text);
+                }
+            }
+
+        }
+
+        private void Load(object sender, RoutedEventArgs e)
+        {
+            OpenFileDialog dialog = new OpenFileDialog();
+            if (dialog.ShowDialog() == true)
+            {
+                using (Stream myStream = dialog.OpenFile())
+                {
+                    stencil2.ImportGroup(myStream);
+                }
+            }
+
+            // Add data template for custom shapes
+            var symbolCollection = (stencil2.SymbolSource as System.Collections.ObjectModel.ObservableCollection<object>);
+            foreach (NodeViewModel symbol in symbolCollection.Where(symbol => symbol is NodeViewModel))
+            {
+                if (symbol.Name == "single Sofa")
+                {
+                    symbol.ContentTemplate = (DataTemplate)App.Current.Resources["singleSofa"];
+                }
+                if (symbol.Name == "mat")
+                {
+                    symbol.ContentTemplate = (DataTemplate)App.Current.Resources["mat"];
+                }
+                if (symbol.Key == "Image")
+                {
+
+                }
+            }
+            foreach (SymbolViewModel symbol in symbolCollection.Where(symbol => symbol is SymbolViewModel))
+            {
+                if (symbol.Key.ToString() == "Image" && symbol.Symbol.ToString() == "User")
+                {
+                    symbol.SymbolTemplate = (DataTemplate)App.Current.Resources["symboltemplate"];
+                }
+            }
+        }
+
+        private void SymbolGroupDisplayMode_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
+        {
+            if (diagram == null) return;
+            switch (SymbolGroupDisplayMode.SelectedIndex)
+            {
+                case 0:
+                    stencil1.SymbolGroupDisplayMode = Syncfusion.UI.Xaml.Diagram.SymbolGroupDisplayMode.Accordion;
+                    break;
+                case 1:
+                    stencil1.SymbolGroupDisplayMode = Syncfusion.UI.Xaml.Diagram.SymbolGroupDisplayMode.Tab;
+                    break;
+                case 2:
+                    stencil1.SymbolGroupDisplayMode = Syncfusion.UI.Xaml.Diagram.SymbolGroupDisplayMode.List;
+                    break;
+
+            }
+        }
+        private void SymbolGroupDisplayMode2_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
+        {
+            if (diagram == null) return;
+            switch (SymbolGroupDisplayMode2.SelectedIndex)
+            {
+                case 0:
+                    stencil2.SymbolGroupDisplayMode = Syncfusion.UI.Xaml.Diagram.SymbolGroupDisplayMode.Accordion;
+                    break;
+                case 1:
+                    stencil2.SymbolGroupDisplayMode = Syncfusion.UI.Xaml.Diagram.SymbolGroupDisplayMode.Tab;
+                    break;
+                case 2:
+                    stencil2.SymbolGroupDisplayMode = Syncfusion.UI.Xaml.Diagram.SymbolGroupDisplayMode.List;
+                    break;
+
+            }
+        }
+
+        private void ExpandMode_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
+        {
+            if (diagram == null) return;
+            switch (ExpandMode.SelectedIndex)
+            {
+                case 0:
+                    stencil1.ExpandMode = Syncfusion.UI.Xaml.Diagram.ExpandMode.All;
+                    break;
+                case 1:
+                    stencil1.ExpandMode = Syncfusion.UI.Xaml.Diagram.ExpandMode.One;
+                    break;
+                case 2:
+                    stencil1.ExpandMode = Syncfusion.UI.Xaml.Diagram.ExpandMode.OneOrMore;
+                    break;
+                case 3:
+                    stencil1.ExpandMode = Syncfusion.UI.Xaml.Diagram.ExpandMode.ZeroOrMore;
+                    break;
+                case 4:
+                    stencil1.ExpandMode = Syncfusion.UI.Xaml.Diagram.ExpandMode.ZeroOrOne;
+                    break;
+            }
+        }
+
+        private void ExpandMode2_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
+        {
+            if (diagram == null) return;
+            switch (ExpandMode2.SelectedIndex)
+            {
+                case 0:
+                    stencil2.ExpandMode = Syncfusion.UI.Xaml.Diagram.ExpandMode.All;
+                    break;
+                case 1:
+                    stencil2.ExpandMode = Syncfusion.UI.Xaml.Diagram.ExpandMode.One;
+                    break;
+                case 2:
+                    stencil2.ExpandMode = Syncfusion.UI.Xaml.Diagram.ExpandMode.OneOrMore;
+                    break;
+                case 3:
+                    stencil2.ExpandMode = Syncfusion.UI.Xaml.Diagram.ExpandMode.ZeroOrMore;
+                    break;
+                case 4:
+                    stencil2.ExpandMode = Syncfusion.UI.Xaml.Diagram.ExpandMode.ZeroOrOne;
+                    break;
+            }
+        }
+    }
+}
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/AssemblyInfo.cs b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..8965f47c
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/AssemblyInfo.cs
@@ -0,0 +1,55 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("StencilCategorySample")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("StencilCategorySample")]
+[assembly: AssemblyCopyright("Copyright ©  2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
+//inside a <PropertyGroup>.  For example, if you are using US english
+//in your source files, set the <UICulture> to en-US.  Then uncomment
+//the NeutralResourceLanguage attribute below.  Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+                                     //(used if a resource is not found in the page,
+                                     // or application resource dictionaries)
+    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+                                              //(used if a resource is not found in the page,
+                                              // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Resources.Designer.cs b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Resources.Designer.cs
new file mode 100644
index 00000000..0e793c29
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Resources.Designer.cs
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace StencilCategorySample.Properties {
+    using System;
+    
+    
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources() {
+        }
+        
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("StencilCategorySample.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+    }
+}
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Resources.resx b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Resources.resx
new file mode 100644
index 00000000..af7dbebb
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Resources.resx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Settings.Designer.cs b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Settings.Designer.cs
new file mode 100644
index 00000000..cd722fbb
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace StencilCategorySample.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+        
+        public static Settings Default {
+            get {
+                return defaultInstance;
+            }
+        }
+    }
+}
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Settings.settings b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Settings.settings
new file mode 100644
index 00000000..033d7a5e
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/Properties/Settings.settings
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
\ No newline at end of file
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.csproj
new file mode 100644
index 00000000..2cd1fb96
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.csproj
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{0224C9AF-997B-4B46-8776-7FF389303621}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <RootNamespace>StencilCategorySample</RootNamespace>
+    <AssemblyName>StencilCategorySample</AssemblyName>
+    <TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <WarningLevel>4</WarningLevel>
+    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <Deterministic>true</Deterministic>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Xaml">
+      <RequiredTargetFramework>4.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="WindowsBase" />
+    <Reference Include="PresentationCore" />
+    <Reference Include="PresentationFramework" />
+  </ItemGroup>
+  <ItemGroup>
+    <ApplicationDefinition Include="App.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </ApplicationDefinition>
+    <Compile Include="ViewModel\StencilViewModel.cs" />
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Compile Include="App.xaml.cs">
+      <DependentUpon>App.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="MainWindow.xaml.cs">
+      <DependentUpon>MainWindow.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <None Include="packages.config" />
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <Resource Include="User.jpg" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.sln b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.sln
new file mode 100644
index 00000000..50a115ac
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.12.35506.116 d17.12
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SymbolGroupSerialize_462", "SymbolGroupSerialize_462.csproj", "{0224C9AF-997B-4B46-8776-7FF389303621}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
new file mode 100644
index 00000000..52e0390b
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
@@ -0,0 +1,66 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net6.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>StencilCategorySample</AssemblyName>
+    <RootNamespace>StencilCategorySample</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="packages.config" />
+    <None Include="packages.config" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <None Remove="User.jpg" />
+    <Resource Include="User.jpg" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.sln b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.sln
new file mode 100644
index 00000000..d1447c55
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31410.414
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SymbolGroupSerialize_60", "SymbolGroupSerialize_60.csproj", "{0224C9AF-997B-4B46-8776-7FF389303621}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
new file mode 100644
index 00000000..0e16c5c2
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
@@ -0,0 +1,66 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net8.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>StencilCategorySample</AssemblyName>
+    <RootNamespace>StencilCategorySample</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="packages.config" />
+    <None Include="packages.config" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <None Remove="User.jpg" />
+    <Resource Include="User.jpg" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.sln b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.sln
new file mode 100644
index 00000000..0f0d973f
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.8.226.21692
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SymbolGroupSerialize_80", "SymbolGroupSerialize_80.csproj", "{0224C9AF-997B-4B46-8776-7FF389303621}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
new file mode 100644
index 00000000..803fb353
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
@@ -0,0 +1,66 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net9.0-windows</TargetFramework>
+    <UseWindowsForms>true</UseWindowsForms>
+    <UseWPF>true</UseWPF>
+    <EnableDefaultEmbeddedResourceItems>False</EnableDefaultEmbeddedResourceItems>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <AssemblyName>StencilCategorySample</AssemblyName>
+    <RootNamespace>StencilCategorySample</RootNamespace>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Xml|AnyCPU'">
+    <DefineConstants>TRACE;NET50</DefineConstants>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Remove="obj\**" />
+    <Compile Remove="obj_45\**" />
+    <Compile Remove="obj_462\**" />
+    <Compile Remove="obj_50\**" />
+    <Compile Remove="obj_60\**" />
+    <Compile Remove="obj_70\**" />
+    <Compile Remove="obj_80\**" />
+    <Compile Remove="obj_90\**" />
+    <EmbeddedResource Remove="obj\**" />
+    <EmbeddedResource Remove="obj_45\**" />
+    <EmbeddedResource Remove="obj_462\**" />
+    <EmbeddedResource Remove="obj_50\**" />
+    <EmbeddedResource Remove="obj_60\**" />
+    <EmbeddedResource Remove="obj_70\**" />
+    <EmbeddedResource Remove="obj_80\**" />
+    <EmbeddedResource Remove="obj_90\**" />
+    <None Remove="obj\**" />
+    <None Remove="obj_45\**" />
+    <None Remove="obj_462\**" />
+    <None Remove="obj_50\**" />
+    <None Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <Page Remove="obj\**" />
+    <Page Remove="obj_45\**" />
+    <Page Remove="obj_462\**" />
+    <Page Remove="obj_50\**" />
+    <Page Remove="obj_60\**" />
+    <None Remove="obj_70\**" />
+    <None Remove="obj_80\**" />
+    <None Remove="obj_90\**" />
+    <None Remove="packages.config" />
+    <None Include="packages.config" />
+    <None Remove="Properties\Settings.settings" />
+    <None Include="Properties\Settings.settings" />
+    <None Remove="App.config" />
+    <None Include="App.config" />
+    <None Remove="User.jpg" />
+    <Resource Include="User.jpg" />
+    <ApplicationDefinition Include="App.xaml" />
+    <Compile Include="App.xaml.cs" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.sln b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.sln
new file mode 100644
index 00000000..7bc6b7e6
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35017.193
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SymbolGroupSerialize_90", "SymbolGroupSerialize_90.csproj", "{0224C9AF-997B-4B46-8776-7FF389303621}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0224C9AF-997B-4B46-8776-7FF389303621}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/User.jpg b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/User.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d9a7d4a47c2ec9c4c99fdf15ab9d753850a44c40
GIT binary patch
literal 14459
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
O{en3ES0@nE`2PnypRXSP

literal 0
HcmV?d00001

diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/ViewModel/StencilViewModel.cs b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/ViewModel/StencilViewModel.cs
new file mode 100644
index 00000000..774508df
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/ViewModel/StencilViewModel.cs
@@ -0,0 +1,56 @@
+using Syncfusion.UI.Xaml.Diagram;
+using Syncfusion.UI.Xaml.Diagram.Stencil;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace StencilCategorySample
+{
+    /// <summary>
+    /// Custom class for stencil view model.
+    /// </summary>
+    public class StencilViewModel : Stencil
+    {
+        /// <summary>
+        /// Overridden method to change the symbol.
+        /// </summary>
+        /// <param name="Item">Item value of the shape</param>
+        /// <param name="SymbolName">Name of the symbol</param>
+        /// <param name="CategoryName">Name of the category</param>
+        /// <returns>Return the item of the shape</returns>
+        protected override object PrepareSymbolViewModel(object Item, string SymbolName, string CategoryName)
+        {
+            if (SymbolName == "Rectangle")
+            {
+                (Item as INode).UnitWidth = 80;
+                (Item as INode).UnitHeight = 40;
+                return Item;
+            }
+            else
+                return base.PrepareSymbolViewModel(Item, SymbolName, CategoryName);
+        }
+
+        /// <summary>
+        /// Overidden method to decide whether a symbol can be added or not
+        /// </summary>
+        /// <param name="symbolName">Name of the symbol</param>
+        /// <param name="categoryName">Name of the category</param>
+        /// <returns>Return the boolean</returns>
+        protected override bool CanAddSymbol(string symbolName, string categoryName)
+        {
+            if (symbolName == "Triangle")
+            {
+                return false;
+            }
+
+            return base.CanAddSymbol(symbolName, categoryName);
+        }
+    }
+
+    public class SymbolCollection : ObservableCollection<object>
+    {
+    }
+}
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/packages.config b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/packages.config
new file mode 100644
index 00000000..657f9274
--- /dev/null
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/packages.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="Syncfusion.Licensing" version="27.1.58" targetFramework="net462" />
+  <package id="Syncfusion.SfDiagram.WPF" version="27.1.58" targetFramework="net462" />
+  <package id="Syncfusion.Shared.WPF" version="27.1.58" targetFramework="net462" />
+</packages>
\ No newline at end of file

From edf2ce60188998e92de05dd0fa3e028f86b1771c Mon Sep 17 00:00:00 2001
From: SatishRaj4377 <158574671+SatishRaj4377@users.noreply.github.com>
Date: Tue, 3 Dec 2024 13:57:05 +0530
Subject: [PATCH 2/7] WPF-925455-Added ReadMe file for AnnotationSelection
 Sample

---
 .../AnnotationSelection_462.csproj                 |  0
 .../AnnotationSelection_462.sln                    |  0
 .../AnnotationSelection_60.csproj                  |  0
 .../AnnotationSelection_60.sln                     |  0
 .../AnnotationSelection_80.csproj                  |  0
 .../AnnotationSelection_80.sln                     |  0
 .../AnnotationSelection_90.csproj                  |  0
 .../AnnotationSelection_90.sln                     |  0
 .../{ => AnnotationSelection}/App.config           |  0
 .../{ => AnnotationSelection}/App.xaml             |  0
 .../{ => AnnotationSelection}/App.xaml.cs          |  0
 .../{ => AnnotationSelection}/MainWindow.xaml      |  0
 .../{ => AnnotationSelection}/MainWindow.xaml.cs   |  0
 .../Properties/AssemblyInfo.cs                     |  0
 .../Properties/Resources.Designer.cs               |  0
 .../Properties/Resources.resx                      |  0
 .../Properties/Settings.Designer.cs                |  0
 .../Properties/Settings.settings                   |  0
 Samples/Annotations/AnnotationSelection/README.md  | 14 ++++++++++++++
 19 files changed, 14 insertions(+)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/AnnotationSelection_462.csproj (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/AnnotationSelection_462.sln (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/AnnotationSelection_60.csproj (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/AnnotationSelection_60.sln (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/AnnotationSelection_80.csproj (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/AnnotationSelection_80.sln (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/AnnotationSelection_90.csproj (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/AnnotationSelection_90.sln (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/App.config (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/App.xaml (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/App.xaml.cs (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/MainWindow.xaml (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/MainWindow.xaml.cs (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/Properties/AssemblyInfo.cs (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/Properties/Resources.Designer.cs (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/Properties/Resources.resx (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/Properties/Settings.Designer.cs (100%)
 rename Samples/Annotations/AnnotationSelection/{ => AnnotationSelection}/Properties/Settings.settings (100%)
 create mode 100644 Samples/Annotations/AnnotationSelection/README.md

diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_462.csproj b/Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_462.csproj
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/AnnotationSelection_462.csproj
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_462.csproj
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_462.sln b/Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_462.sln
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/AnnotationSelection_462.sln
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_462.sln
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_60.csproj b/Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_60.csproj
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/AnnotationSelection_60.csproj
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_60.csproj
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_60.sln b/Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_60.sln
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/AnnotationSelection_60.sln
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_60.sln
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_80.csproj b/Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_80.csproj
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/AnnotationSelection_80.csproj
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_80.csproj
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_80.sln b/Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_80.sln
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/AnnotationSelection_80.sln
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_80.sln
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_90.csproj b/Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_90.csproj
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/AnnotationSelection_90.csproj
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_90.csproj
diff --git a/Samples/Annotations/AnnotationSelection/AnnotationSelection_90.sln b/Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_90.sln
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/AnnotationSelection_90.sln
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/AnnotationSelection_90.sln
diff --git a/Samples/Annotations/AnnotationSelection/App.config b/Samples/Annotations/AnnotationSelection/AnnotationSelection/App.config
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/App.config
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/App.config
diff --git a/Samples/Annotations/AnnotationSelection/App.xaml b/Samples/Annotations/AnnotationSelection/AnnotationSelection/App.xaml
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/App.xaml
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/App.xaml
diff --git a/Samples/Annotations/AnnotationSelection/App.xaml.cs b/Samples/Annotations/AnnotationSelection/AnnotationSelection/App.xaml.cs
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/App.xaml.cs
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/App.xaml.cs
diff --git a/Samples/Annotations/AnnotationSelection/MainWindow.xaml b/Samples/Annotations/AnnotationSelection/AnnotationSelection/MainWindow.xaml
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/MainWindow.xaml
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/MainWindow.xaml
diff --git a/Samples/Annotations/AnnotationSelection/MainWindow.xaml.cs b/Samples/Annotations/AnnotationSelection/AnnotationSelection/MainWindow.xaml.cs
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/MainWindow.xaml.cs
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/MainWindow.xaml.cs
diff --git a/Samples/Annotations/AnnotationSelection/Properties/AssemblyInfo.cs b/Samples/Annotations/AnnotationSelection/AnnotationSelection/Properties/AssemblyInfo.cs
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/Properties/AssemblyInfo.cs
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/Properties/AssemblyInfo.cs
diff --git a/Samples/Annotations/AnnotationSelection/Properties/Resources.Designer.cs b/Samples/Annotations/AnnotationSelection/AnnotationSelection/Properties/Resources.Designer.cs
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/Properties/Resources.Designer.cs
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/Properties/Resources.Designer.cs
diff --git a/Samples/Annotations/AnnotationSelection/Properties/Resources.resx b/Samples/Annotations/AnnotationSelection/AnnotationSelection/Properties/Resources.resx
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/Properties/Resources.resx
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/Properties/Resources.resx
diff --git a/Samples/Annotations/AnnotationSelection/Properties/Settings.Designer.cs b/Samples/Annotations/AnnotationSelection/AnnotationSelection/Properties/Settings.Designer.cs
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/Properties/Settings.Designer.cs
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/Properties/Settings.Designer.cs
diff --git a/Samples/Annotations/AnnotationSelection/Properties/Settings.settings b/Samples/Annotations/AnnotationSelection/AnnotationSelection/Properties/Settings.settings
similarity index 100%
rename from Samples/Annotations/AnnotationSelection/Properties/Settings.settings
rename to Samples/Annotations/AnnotationSelection/AnnotationSelection/Properties/Settings.settings
diff --git a/Samples/Annotations/AnnotationSelection/README.md b/Samples/Annotations/AnnotationSelection/README.md
new file mode 100644
index 00000000..98d940f5
--- /dev/null
+++ b/Samples/Annotations/AnnotationSelection/README.md
@@ -0,0 +1,14 @@
+# Annotations Selection sample
+
+This sample demonstrates how to select annotations for nodes and connectors in a diagram.
+
+__*Documentation*__: https://help.syncfusion.com/wpf/diagram/annotation/defineannotation
+
+## Project pre-requisites
+To run this application, you need to have the below two in your system
+
+* [Visual Studio 2019](https://www.visualstudio.com/wpf-vs)
+* [Syncfusion.SfDiagram.WPF](https://www.nuget.org/packages/Syncfusion.SfDiagram.WPF/) nuget package. To install the package using NuGet Package Manager, refer this [link](https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio#nuget-package-manager).
+
+## Deploying and running the sample
+* To debug the sample and then run it, press F5 or select Debug > Start Debugging. To run the sample without debugging, press Ctrl+F5 or selectDebug > Start Without Debugging.

From a65df5473d594fbaa8d0d43b6ff328f1ef36b4d6 Mon Sep 17 00:00:00 2001
From: SatishRaj4377 <158574671+SatishRaj4377@users.noreply.github.com>
Date: Tue, 3 Dec 2024 14:08:00 +0530
Subject: [PATCH 3/7] WPF-925455-Removed Packages.config file

---
 .../Stencil/StencilCategory/StencilCategory/packages.config | 6 ------
 .../SymbolGroupSerialize/SymbolGroupSerialize_462.csproj    | 1 -
 .../SymbolGroupSerialize/SymbolGroupSerialize_60.csproj     | 2 --
 .../SymbolGroupSerialize/SymbolGroupSerialize_80.csproj     | 2 --
 .../SymbolGroupSerialize/SymbolGroupSerialize_90.csproj     | 2 --
 .../SymbolGroupSerialize/packages.config                    | 6 ------
 6 files changed, 19 deletions(-)
 delete mode 100644 Samples/Stencil/StencilCategory/StencilCategory/packages.config
 delete mode 100644 Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/packages.config

diff --git a/Samples/Stencil/StencilCategory/StencilCategory/packages.config b/Samples/Stencil/StencilCategory/StencilCategory/packages.config
deleted file mode 100644
index 01281ebf..00000000
--- a/Samples/Stencil/StencilCategory/StencilCategory/packages.config
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="Syncfusion.Licensing" version="26.2.7" targetFramework="net462" />
-  <package id="Syncfusion.SfDiagram.WPF" version="26.2.7" targetFramework="net462" />
-  <package id="Syncfusion.Shared.WPF" version="26.2.7" targetFramework="net462" />
-</packages>
\ No newline at end of file
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.csproj
index 2cd1fb96..8e2efa14 100644
--- a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.csproj
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_462.csproj
@@ -88,7 +88,6 @@
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
     </EmbeddedResource>
-    <None Include="packages.config" />
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
index 52e0390b..4144559a 100644
--- a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
@@ -52,8 +52,6 @@
     <None Remove="obj_70\**" />
     <None Remove="obj_80\**" />
     <None Remove="obj_90\**" />
-    <None Remove="packages.config" />
-    <None Include="packages.config" />
     <None Remove="Properties\Settings.settings" />
     <None Include="Properties\Settings.settings" />
     <None Remove="App.config" />
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
index 0e16c5c2..0a301bb3 100644
--- a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
@@ -52,8 +52,6 @@
     <None Remove="obj_70\**" />
     <None Remove="obj_80\**" />
     <None Remove="obj_90\**" />
-    <None Remove="packages.config" />
-    <None Include="packages.config" />
     <None Remove="Properties\Settings.settings" />
     <None Include="Properties\Settings.settings" />
     <None Remove="App.config" />
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
index 803fb353..7f88f94c 100644
--- a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
@@ -52,8 +52,6 @@
     <None Remove="obj_70\**" />
     <None Remove="obj_80\**" />
     <None Remove="obj_90\**" />
-    <None Remove="packages.config" />
-    <None Include="packages.config" />
     <None Remove="Properties\Settings.settings" />
     <None Include="Properties\Settings.settings" />
     <None Remove="App.config" />
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/packages.config b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/packages.config
deleted file mode 100644
index 657f9274..00000000
--- a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/packages.config
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="Syncfusion.Licensing" version="27.1.58" targetFramework="net462" />
-  <package id="Syncfusion.SfDiagram.WPF" version="27.1.58" targetFramework="net462" />
-  <package id="Syncfusion.Shared.WPF" version="27.1.58" targetFramework="net462" />
-</packages>
\ No newline at end of file

From 2304c8b3a7070a9b602584315e5e5ce1367b58db Mon Sep 17 00:00:00 2001
From: SatishRaj4377 <158574671+SatishRaj4377@users.noreply.github.com>
Date: Tue, 3 Dec 2024 14:11:56 +0530
Subject: [PATCH 4/7] WPF-925455-Added NugetPackages

---
 .../SymbolGroupSerialize/SymbolGroupSerialize_60.csproj          | 1 +
 .../SymbolGroupSerialize/SymbolGroupSerialize_80.csproj          | 1 +
 .../SymbolGroupSerialize/SymbolGroupSerialize_90.csproj          | 1 +
 3 files changed, 3 insertions(+)

diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
index 4144559a..8587f012 100644
--- a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
@@ -59,6 +59,7 @@
     <None Remove="User.jpg" />
     <Resource Include="User.jpg" />
     <ApplicationDefinition Include="App.xaml" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <Compile Include="App.xaml.cs" />
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
index 0a301bb3..8477f6ee 100644
--- a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
@@ -59,6 +59,7 @@
     <None Remove="User.jpg" />
     <Resource Include="User.jpg" />
     <ApplicationDefinition Include="App.xaml" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <Compile Include="App.xaml.cs" />
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
index 7f88f94c..4922ce9c 100644
--- a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
@@ -59,6 +59,7 @@
     <None Remove="User.jpg" />
     <Resource Include="User.jpg" />
     <ApplicationDefinition Include="App.xaml" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <Compile Include="App.xaml.cs" />
   </ItemGroup>
 </Project>
\ No newline at end of file

From a21e8a3c42e56f973c03c036c9eb4d555cad0098 Mon Sep 17 00:00:00 2001
From: SatishRaj4377 <158574671+SatishRaj4377@users.noreply.github.com>
Date: Tue, 3 Dec 2024 14:16:19 +0530
Subject: [PATCH 5/7] WPF-925455-Included Files in SymbolGroup Serialize Sample

---
 .../SymbolGroupSerialize/SymbolGroupSerialize_60.csproj     | 6 ++++++
 .../SymbolGroupSerialize/SymbolGroupSerialize_80.csproj     | 6 ++++++
 .../SymbolGroupSerialize/SymbolGroupSerialize_90.csproj     | 6 ++++++
 3 files changed, 18 insertions(+)

diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
index 8587f012..0cfa2d0c 100644
--- a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_60.csproj
@@ -61,5 +61,11 @@
     <ApplicationDefinition Include="App.xaml" />
     <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
index 8477f6ee..7af96b02 100644
--- a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_80.csproj
@@ -61,5 +61,11 @@
     <ApplicationDefinition Include="App.xaml" />
     <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
index 4922ce9c..f94bc6af 100644
--- a/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
+++ b/Samples/Stencil/SymbolGroupSerialize/SymbolGroupSerialize/SymbolGroupSerialize_90.csproj
@@ -61,5 +61,11 @@
     <ApplicationDefinition Include="App.xaml" />
     <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
   </ItemGroup>
 </Project>
\ No newline at end of file

From 570fb06422000f010e7ca9934cb6500f38457eab Mon Sep 17 00:00:00 2001
From: SatishRaj4377 <158574671+SatishRaj4377@users.noreply.github.com>
Date: Tue, 3 Dec 2024 14:22:21 +0530
Subject: [PATCH 6/7] WPF-925455-Included files in MermaidSample

---
 .../MermaidTextToDiagramLayoutSupport_60.csproj            | 7 +++++++
 .../MermaidTextToDiagramLayoutSupport_80.csproj            | 1 +
 .../MermaidTextToDiagramLayoutSupport_90.csproj            | 1 +
 3 files changed, 9 insertions(+)

diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj
index c3c8ea17..7e926635 100644
--- a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj
@@ -58,5 +58,12 @@
     <None Include="App.config" />
     <ApplicationDefinition Include="App.xaml" />
     <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj
index 29671fb8..3c8b6654 100644
--- a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj
@@ -56,6 +56,7 @@
     <None Include="Properties\Settings.settings" />
     <None Remove="App.config" />
     <None Include="App.config" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <ApplicationDefinition Include="App.xaml" />
     <Compile Include="App.xaml.cs" />
   </ItemGroup>
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj
index 9e4a0e90..cbcb0b5c 100644
--- a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj
+++ b/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj
@@ -56,6 +56,7 @@
     <None Include="Properties\Settings.settings" />
     <None Remove="App.config" />
     <None Include="App.config" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <ApplicationDefinition Include="App.xaml" />
     <Compile Include="App.xaml.cs" />
   </ItemGroup>

From b6808934c041d56af02be133ea8e4e7be99b9e9f Mon Sep 17 00:00:00 2001
From: SatishRaj4377 <158574671+SatishRaj4377@users.noreply.github.com>
Date: Tue, 3 Dec 2024 14:43:18 +0530
Subject: [PATCH 7/7] WPF-925455-Added Mermaid Sample again

---
 .../MermaidTextToDiagramLayout}/App.config          |  0
 .../MermaidTextToDiagramLayout}/App.xaml            |  0
 .../MermaidTextToDiagramLayout}/App.xaml.cs         |  0
 .../MermaidTextToDiagramLayout}/MainWindow.xaml     |  0
 .../MermaidTextToDiagramLayout}/MainWindow.xaml.cs  |  0
 .../MermaidTextToDiagramLayout_462.csproj}          |  0
 .../MermaidTextToDiagramLayout_462.sln}             |  2 +-
 .../MermaidTextToDiagramLayout_60.csproj}           |  2 +-
 .../MermaidTextToDiagramLayout_60.sln}              | 13 +++++++------
 .../MermaidTextToDiagramLayout_80.csproj}           |  8 +++++++-
 .../MermaidTextToDiagramLayout_80.sln}              | 13 +++++++------
 .../MermaidTextToDiagramLayout_90.csproj}           |  8 +++++++-
 .../MermaidTextToDiagramLayout_90.sln}              | 13 +++++++------
 .../Properties/AssemblyInfo.cs                      |  0
 .../Properties/Resources.Designer.cs                |  0
 .../Properties/Resources.resx                       |  0
 .../Properties/Settings.Designer.cs                 |  0
 .../Properties/Settings.settings                    |  0
 .../README.md                                       |  0
 19 files changed, 37 insertions(+), 22 deletions(-)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout}/App.config (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout}/App.xaml (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout}/App.xaml.cs (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout}/MainWindow.xaml (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout}/MainWindow.xaml.cs (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.csproj => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_462.csproj} (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.sln => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_462.sln} (88%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_60.csproj} (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.sln => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_60.sln} (59%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_80.csproj} (93%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.sln => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_80.sln} (59%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_90.csproj} (93%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.sln => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_90.sln} (59%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout}/Properties/AssemblyInfo.cs (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout}/Properties/Resources.Designer.cs (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout}/Properties/Resources.resx (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout}/Properties/Settings.Designer.cs (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport => MermaidTextToDiagramLayout/MermaidTextToDiagramLayout}/Properties/Settings.settings (100%)
 rename Samples/Serialization/{MermaidTextToDiagramLayoutSupport => MermaidTextToDiagramLayout}/README.md (100%)

diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.config b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/App.config
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.config
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/App.config
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/App.xaml
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/App.xaml
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml.cs b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/App.xaml.cs
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/App.xaml.cs
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/App.xaml.cs
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MainWindow.xaml
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MainWindow.xaml
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml.cs b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MainWindow.xaml.cs
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MainWindow.xaml.cs
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MainWindow.xaml.cs
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.csproj b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_462.csproj
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.csproj
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_462.csproj
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.sln b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_462.sln
similarity index 88%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.sln
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_462.sln
index 4f0f2958..2048454a 100644
--- a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_462.sln
+++ b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_462.sln
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio Version 17
 VisualStudioVersion = 17.12.35506.116 d17.12
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayoutSupport_462", "MermaidTextToDiagramLayoutSupport_462.csproj", "{C173EE8E-EC97-4C96-AB30-1A353271AA28}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayout_462", "MermaidTextToDiagramLayout_462.csproj", "{C173EE8E-EC97-4C96-AB30-1A353271AA28}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_60.csproj
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_60.csproj
index 7e926635..47e62d2d 100644
--- a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.csproj
+++ b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_60.csproj
@@ -52,6 +52,7 @@
     <None Remove="obj_70\**" />
     <None Remove="obj_80\**" />
     <None Remove="obj_90\**" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <None Remove="Properties\Settings.settings" />
     <None Include="Properties\Settings.settings" />
     <None Remove="App.config" />
@@ -61,7 +62,6 @@
     <Compile Include="MainWindow.xaml.cs" />
   </ItemGroup>
   <ItemGroup>
-    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <Page Include="MainWindow.xaml">
       <Generator>MSBuild:Compile</Generator>
     </Page>
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.sln b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_60.sln
similarity index 59%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.sln
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_60.sln
index 3101e0bd..760c0e93 100644
--- a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.sln
+++ b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_60.sln
@@ -1,8 +1,9 @@
+
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio Version 17
-VisualStudioVersion = 17.8.226.21692
+VisualStudioVersion = 17.12.35506.116 d17.12
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayoutSupport_80", "MermaidTextToDiagramLayoutSupport_80.csproj", "{C173EE8E-EC97-4C96-AB30-1A353271AA28}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayout_60", "MermaidTextToDiagramLayout_60.csproj", "{31F20125-FDEA-44FA-B833-AEAAA387EA3C}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -10,10 +11,10 @@ Global
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.Build.0 = Release|Any CPU
+		{31F20125-FDEA-44FA-B833-AEAAA387EA3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{31F20125-FDEA-44FA-B833-AEAAA387EA3C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{31F20125-FDEA-44FA-B833-AEAAA387EA3C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{31F20125-FDEA-44FA-B833-AEAAA387EA3C}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_80.csproj
similarity index 93%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_80.csproj
index 3c8b6654..adf47794 100644
--- a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_80.csproj
+++ b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_80.csproj
@@ -52,12 +52,18 @@
     <None Remove="obj_70\**" />
     <None Remove="obj_80\**" />
     <None Remove="obj_90\**" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <None Remove="Properties\Settings.settings" />
     <None Include="Properties\Settings.settings" />
     <None Remove="App.config" />
     <None Include="App.config" />
-    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <ApplicationDefinition Include="App.xaml" />
     <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.sln b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_80.sln
similarity index 59%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.sln
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_80.sln
index 38d8c2fe..3809a63e 100644
--- a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_60.sln
+++ b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_80.sln
@@ -1,8 +1,9 @@
+
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio Version 17
-VisualStudioVersion = 17.0.31410.414
+VisualStudioVersion = 17.12.35506.116 d17.12
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayoutSupport_60", "MermaidTextToDiagramLayoutSupport_60.csproj", "{C173EE8E-EC97-4C96-AB30-1A353271AA28}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayout_80", "MermaidTextToDiagramLayout_80.csproj", "{D3B582D9-1668-47DA-ACFA-E83418476D34}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -10,10 +11,10 @@ Global
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D3B582D9-1668-47DA-ACFA-E83418476D34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D3B582D9-1668-47DA-ACFA-E83418476D34}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D3B582D9-1668-47DA-ACFA-E83418476D34}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D3B582D9-1668-47DA-ACFA-E83418476D34}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_90.csproj
similarity index 93%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_90.csproj
index cbcb0b5c..8cc3cb84 100644
--- a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.csproj
+++ b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_90.csproj
@@ -52,12 +52,18 @@
     <None Remove="obj_70\**" />
     <None Remove="obj_80\**" />
     <None Remove="obj_90\**" />
+    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <None Remove="Properties\Settings.settings" />
     <None Include="Properties\Settings.settings" />
     <None Remove="App.config" />
     <None Include="App.config" />
-    <PackageReference Include="Syncfusion.SfDiagram.WPF" Version="*" />
     <ApplicationDefinition Include="App.xaml" />
     <Compile Include="App.xaml.cs" />
+    <Compile Include="MainWindow.xaml.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.sln b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_90.sln
similarity index 59%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.sln
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_90.sln
index ff54c554..37a57b0d 100644
--- a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport_90.sln
+++ b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout_90.sln
@@ -1,8 +1,9 @@
+
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio Version 17
-VisualStudioVersion = 17.11.35017.193
+VisualStudioVersion = 17.12.35506.116 d17.12
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayoutSupport_90", "MermaidTextToDiagramLayoutSupport_90.csproj", "{C173EE8E-EC97-4C96-AB30-1A353271AA28}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MermaidTextToDiagramLayout_90", "MermaidTextToDiagramLayout_90.csproj", "{6A0092A7-6687-47C3-B02D-667090D56F3C}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -10,10 +11,10 @@ Global
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C173EE8E-EC97-4C96-AB30-1A353271AA28}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6A0092A7-6687-47C3-B02D-667090D56F3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6A0092A7-6687-47C3-B02D-667090D56F3C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6A0092A7-6687-47C3-B02D-667090D56F3C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6A0092A7-6687-47C3-B02D-667090D56F3C}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/AssemblyInfo.cs b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/Properties/AssemblyInfo.cs
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/AssemblyInfo.cs
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/Properties/AssemblyInfo.cs
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.Designer.cs b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/Properties/Resources.Designer.cs
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.Designer.cs
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/Properties/Resources.Designer.cs
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.resx b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/Properties/Resources.resx
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Resources.resx
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/Properties/Resources.resx
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.Designer.cs b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/Properties/Settings.Designer.cs
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.Designer.cs
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/Properties/Settings.Designer.cs
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.settings b/Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/Properties/Settings.settings
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/MermaidTextToDiagramLayoutSupport/Properties/Settings.settings
rename to Samples/Serialization/MermaidTextToDiagramLayout/MermaidTextToDiagramLayout/Properties/Settings.settings
diff --git a/Samples/Serialization/MermaidTextToDiagramLayoutSupport/README.md b/Samples/Serialization/MermaidTextToDiagramLayout/README.md
similarity index 100%
rename from Samples/Serialization/MermaidTextToDiagramLayoutSupport/README.md
rename to Samples/Serialization/MermaidTextToDiagramLayout/README.md