diff --git a/AIStudio.Wpf.DiagramApp/Views/MainWindow.xaml b/AIStudio.Wpf.DiagramApp/Views/MainWindow.xaml
index f3827c3..2b8d7a6 100644
--- a/AIStudio.Wpf.DiagramApp/Views/MainWindow.xaml
+++ b/AIStudio.Wpf.DiagramApp/Views/MainWindow.xaml
@@ -1236,6 +1236,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -1246,7 +1256,7 @@
-
+
-
+
diff --git a/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/BarcodeDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/BarcodeDesignerItemViewModel.cs
index 7f4d326..b76a5e2 100644
--- a/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/BarcodeDesignerItemViewModel.cs
+++ b/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/BarcodeDesignerItemViewModel.cs
@@ -10,7 +10,12 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
{
private IUIVisualizerService visualiserService;
- public BarcodeDesignerItemViewModel() : base()
+ public BarcodeDesignerItemViewModel() : this(null)
+ {
+
+ }
+
+ public BarcodeDesignerItemViewModel(IDiagramViewModel root) : base(root)
{
}
@@ -29,16 +34,16 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
return new DesignerItemBase(this, Format.ToString());
}
- protected override void Init()
+ protected override void Init(IDiagramViewModel root)
{
- base.Init();
+ base.Init(root);
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
}
- protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
+ protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
- base.LoadDesignerItemViewModel(root, designerbase);
+ base.LoadDesignerItemViewModel(designerbase);
if (designerbase is DesignerItemBase designer)
{
diff --git a/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/OutLineTextDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/OutLineTextDesignerItemViewModel.cs
index 151b500..d8234c4 100644
--- a/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/OutLineTextDesignerItemViewModel.cs
+++ b/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/OutLineTextDesignerItemViewModel.cs
@@ -10,7 +10,12 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
public class OutLineTextDesignerItemViewModel : TextDesignerItemViewModel
{
private IUIVisualizerService visualiserService;
- public OutLineTextDesignerItemViewModel() : base()
+ public OutLineTextDesignerItemViewModel() : this(null)
+ {
+
+ }
+
+ public OutLineTextDesignerItemViewModel(IDiagramViewModel root) : base(root)
{
}
@@ -30,9 +35,9 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
return new TextDesignerItem(this);
}
- protected override void Init()
+ protected override void Init(IDiagramViewModel root)
{
- base.Init();
+ base.Init(root);
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
diff --git a/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/PathItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/PathItemViewModel.cs
index 0836e15..99662ce 100644
--- a/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/PathItemViewModel.cs
+++ b/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/PathItemViewModel.cs
@@ -7,7 +7,12 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
{
public class PathItemViewModel : DesignerItemViewModelBase
{
- public PathItemViewModel() : base()
+ public PathItemViewModel() : this(null)
+ {
+
+ }
+
+ public PathItemViewModel(IDiagramViewModel root) : base(root)
{
}
@@ -17,7 +22,6 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
}
-
public PathItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
@@ -28,9 +32,9 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
return new PathDesignerItem(this);
}
- protected override void Init()
+ protected override void Init(IDiagramViewModel root)
{
- base.Init();
+ base.Init(root);
this.ShowConnectors = false;
}
diff --git a/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/PersistDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/PersistDesignerItemViewModel.cs
index 8012953..4412f03 100644
--- a/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/PersistDesignerItemViewModel.cs
+++ b/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/PersistDesignerItemViewModel.cs
@@ -10,7 +10,12 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
{
private IUIVisualizerService visualiserService;
- public PersistDesignerItemViewModel() : base()
+ public PersistDesignerItemViewModel() : this(null)
+ {
+
+ }
+
+ public PersistDesignerItemViewModel(IDiagramViewModel root) : base(root)
{
}
@@ -30,17 +35,17 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
return new PersistDesignerItem(this);
}
- protected override void Init()
+ protected override void Init(IDiagramViewModel root)
{
- base.Init();
+ base.Init(root);
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
this.ShowConnectors = false;
}
- protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
+ protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
- base.LoadDesignerItemViewModel(root, designerbase);
+ base.LoadDesignerItemViewModel(designerbase);
if (designerbase is PersistDesignerItem designer)
{
diff --git a/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/SettingsDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/SettingsDesignerItemViewModel.cs
index 90090e5..050b79d 100644
--- a/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/SettingsDesignerItemViewModel.cs
+++ b/AIStudio.Wpf.DiagramDesigner.Additionals/Extensions/ViewModels/SettingsDesignerItemViewModel.cs
@@ -10,7 +10,12 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
{
private IUIVisualizerService visualiserService;
- public SettingsDesignerItemViewModel() : base()
+ public SettingsDesignerItemViewModel() : this(null)
+ {
+
+ }
+
+ public SettingsDesignerItemViewModel(IDiagramViewModel root) : base(root)
{
}
@@ -30,17 +35,17 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
return new SettingsDesignerItem(this);
}
- protected override void Init()
+ protected override void Init(IDiagramViewModel root)
{
- base.Init();
+ base.Init(root);
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
this.ShowConnectors = false;
}
- protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
+ protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
- base.LoadDesignerItemViewModel(root, designerbase);
+ base.LoadDesignerItemViewModel(designerbase);
if (designerbase is SettingsDesignerItem designer)
{
diff --git a/AIStudio.Wpf.DiagramDesigner.Demo/AIStudio.Wpf.DiagramDesigner.Demo.csproj b/AIStudio.Wpf.DiagramDesigner.Demo/AIStudio.Wpf.DiagramDesigner.Demo.csproj
index e51ccd7..97e216b 100644
--- a/AIStudio.Wpf.DiagramDesigner.Demo/AIStudio.Wpf.DiagramDesigner.Demo.csproj
+++ b/AIStudio.Wpf.DiagramDesigner.Demo/AIStudio.Wpf.DiagramDesigner.Demo.csproj
@@ -16,11 +16,7 @@
-
-
-
-
-
+
diff --git a/AIStudio.Wpf.DiagramDesigner.Demo/Controls/NotDoneYetControl.xaml b/AIStudio.Wpf.DiagramDesigner.Demo/Controls/NotDoneYetControl.xaml
new file mode 100644
index 0000000..b38db67
--- /dev/null
+++ b/AIStudio.Wpf.DiagramDesigner.Demo/Controls/NotDoneYetControl.xaml
@@ -0,0 +1,12 @@
+
+
+
+
+
diff --git a/AIStudio.Wpf.DiagramDesigner.Demo/Controls/NotDoneYetControl.xaml.cs b/AIStudio.Wpf.DiagramDesigner.Demo/Controls/NotDoneYetControl.xaml.cs
new file mode 100644
index 0000000..082d6a7
--- /dev/null
+++ b/AIStudio.Wpf.DiagramDesigner.Demo/Controls/NotDoneYetControl.xaml.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+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 AIStudio.Wpf.DiagramDesigner.Demo.Controls
+{
+ ///
+ /// NotDoneYetControl.xaml 的交互逻辑
+ ///
+ public partial class NotDoneYetControl : UserControl
+ {
+ public NotDoneYetControl()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/AIStudio.Wpf.DiagramDesigner.Demo/Controls/TitleControl.xaml b/AIStudio.Wpf.DiagramDesigner.Demo/Controls/TitleControl.xaml
index 8f9862c..ec58c18 100644
--- a/AIStudio.Wpf.DiagramDesigner.Demo/Controls/TitleControl.xaml
+++ b/AIStudio.Wpf.DiagramDesigner.Demo/Controls/TitleControl.xaml
@@ -3,19 +3,10 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:local="clr-namespace:AIStudio.Wpf.DiagramDesigner.Demo.Controls"
+ xmlns:ac="https://gitee.com/akwkevin/AI-wpf-controls"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/AIStudio.Wpf.DiagramDesigner.Demo/MainWindow.xaml b/AIStudio.Wpf.DiagramDesigner.Demo/MainWindow.xaml
index 9ec7384..e1fccd3 100644
--- a/AIStudio.Wpf.DiagramDesigner.Demo/MainWindow.xaml
+++ b/AIStudio.Wpf.DiagramDesigner.Demo/MainWindow.xaml
@@ -14,9 +14,20 @@
-
+
+
+
+
+
+
+
+
+
+
x.Namespace.StartsWith("AIStudio.Wpf.DiagramDesigner.Demo.ViewModels") && x.Name.Contains("ViewModel")).ToList().ForEach(x => _viewModelDic.Add(x.Name.Remove(x.Name.Length - 9), x));
}
#endregion
-
+ List _menus;
public MainWindow()
{
InitializeComponent();
this.Loaded += MainWindow_Loaded;
- listbox.ItemsSource = _viewDic.Keys.ToList();
+
+ _menus = new List()
+ {
+ new MenuItemViewModel(){Title = "Simple"},
+ new MenuItemViewModel(){Title = "Locked"},
+ new MenuItemViewModel(){Title = "Events"},
+ new MenuItemViewModel(){Title = "DynamicInsertions"},
+ new MenuItemViewModel(){Title = "Performance"},
+ new MenuItemViewModel(){Title = "Zoom"},
+ new MenuItemViewModel(){Title = "SnapToGrid"},
+ new MenuItemViewModel(){Title = "DragAndDrop"},
+ new MenuItemViewModel(){Title = "Nodes",
+ Children=new List
+ {
+ new MenuItemViewModel(){Title = "Svg"},
+ new MenuItemViewModel(){Title = "Portless"},
+ }
+ },
+ new MenuItemViewModel(){Title = "Links",
+ Children=new List
+ {
+ new MenuItemViewModel(){Title = "Snapping"},
+ new MenuItemViewModel(){Title = "Labels"},
+ new MenuItemViewModel(){Title = "Vertices"},
+ new MenuItemViewModel(){Title = "Markers"},
+ new MenuItemViewModel(){Title = "Routers"},
+ new MenuItemViewModel(){Title = "PathGenerators"},
+ }
+ },
+ new MenuItemViewModel(){Title = "Groups",
+ Children=new List
+ {
+ new MenuItemViewModel(){Title = "Grouping"},
+ }
+ },
+ new MenuItemViewModel(){Title = "Customization",
+ Children=new List
+ {
+ new MenuItemViewModel(){Title = "CustomNode"},
+ new MenuItemViewModel(){Title = "CustomLink"},
+ new MenuItemViewModel(){Title = "CustomPort"},
+ new MenuItemViewModel(){Title = "CustomGroup"},
+ }
+ },
+ new MenuItemViewModel(){Title = "Algorithms",
+ Children=new List
+ {
+
+ }
+ },
+ new MenuItemViewModel(){Title = "Animations",
+ Children=new List
+ {
+ new MenuItemViewModel(){Title = "PathAnimation"},
+ new MenuItemViewModel(){Title = "LineAnimation"},
+ }
+ },
+ };
+ treeview.ItemsSource = _menus;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
- listbox.SelectedIndex = 0;
+ treeview.SelectObject(_menus.FirstOrDefault());
}
private void Button_Click(object sender, RoutedEventArgs e)
@@ -74,17 +133,33 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo
ContentControl.Content = control;
}
else
- ContentControl.Content = null;
+ {
+ ContentControl.Content = new Controls.NotDoneYetControl();
+ }
}
- private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ private void treeview_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs