From fde899cfa930dbb8b2ee9795a27463d25a32ade5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=89=BE=E7=AB=B9?= Date: Sun, 21 May 2023 22:06:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0block=E5=BF=AB=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E8=BF=9E=E6=8E=A5=E7=BA=BF=EF=BC=8C?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E5=90=B8=E9=99=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AIStudio.Wpf.DiagramApp.csproj | 1 + .../ViewModels/MainWindowViewModel.cs | 3 +- .../ViewModels/PageViewModel.cs | 8 +- .../ViewModels/ToolBoxViewModel.cs | 6 +- AIStudio.Wpf.DiagramApp/Views/MainWindow.xaml | 10 + .../Views/ToolBoxControl.xaml | 2 +- .../Adorners/DrawingRubberbandAdorner.cs | 2 +- .../Adorners/RubberbandAdorner.cs | 2 +- .../Controls/DesignerCanvas.cs | 41 +- .../Controls/DragThumb.cs | 57 ++- .../Helpers/PointHelper.cs | 33 +- .../DesignerItemsControlItemStyleSelector.cs | 5 + .../Themes/ConnectorItem.xaml | 16 + .../Themes/DesignerItem.xaml | 12 + .../UserControls/DiagramControl.xaml | 118 ++++- .../BaseViewModel/ConnectionViewModel.cs | 2 +- .../Connector/BlockConnectorInfo.cs | 47 ++ .../DesignerItemViewModelBase.cs | 36 +- .../BaseViewModel/DiagramViewModel.cs | 422 +++++++++--------- .../BlockDesignerItemViewModel.cs | 68 +++ .../DefaultViewModel/GifImageItemViewModel.cs | 6 +- .../LogicalGateItemViewModelBase.cs | 6 +- .../TextDesignerItemViewModel.cs | 2 +- .../EraserDrawingDesignerItemViewModel.cs | 2 +- ...aserPreviewDrawingDesignerItemViewModel.cs | 2 +- .../TextDrawingDesignerItemViewModel.cs | 4 +- .../ViewModels/IDiagramViewModel.cs | 23 +- .../ViewModels/LogicalGateItemViewModel.cs | 10 - .../ViewModels/MindDiagramViewModel.cs | 65 +-- .../AIStudio.Wpf.Mind/ViewModels/MindNode.cs | 7 +- 30 files changed, 680 insertions(+), 338 deletions(-) create mode 100644 AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Connector/BlockConnectorInfo.cs create mode 100644 AIStudio.Wpf.DiagramDesigner/ViewModels/DefaultViewModel/BlockDesignerItemViewModel.cs diff --git a/AIStudio.Wpf.DiagramApp/AIStudio.Wpf.DiagramApp.csproj b/AIStudio.Wpf.DiagramApp/AIStudio.Wpf.DiagramApp.csproj index a3724a5..dfd930a 100644 --- a/AIStudio.Wpf.DiagramApp/AIStudio.Wpf.DiagramApp.csproj +++ b/AIStudio.Wpf.DiagramApp/AIStudio.Wpf.DiagramApp.csproj @@ -109,6 +109,7 @@ + all diff --git a/AIStudio.Wpf.DiagramApp/ViewModels/MainWindowViewModel.cs b/AIStudio.Wpf.DiagramApp/ViewModels/MainWindowViewModel.cs index b2821d4..0f1d4f9 100644 --- a/AIStudio.Wpf.DiagramApp/ViewModels/MainWindowViewModel.cs +++ b/AIStudio.Wpf.DiagramApp/ViewModels/MainWindowViewModel.cs @@ -727,7 +727,8 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels private void ColorPickerExecuted() { - + AIStudio.Wpf.ColorPicker.MainWindow window = new AIStudio.Wpf.ColorPicker.MainWindow(); + window.Show(); } #region 方法 diff --git a/AIStudio.Wpf.DiagramApp/ViewModels/PageViewModel.cs b/AIStudio.Wpf.DiagramApp/ViewModels/PageViewModel.cs index e23dc91..8ab2384 100644 --- a/AIStudio.Wpf.DiagramApp/ViewModels/PageViewModel.cs +++ b/AIStudio.Wpf.DiagramApp/ViewModels/PageViewModel.cs @@ -580,7 +580,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels public void AddImageExecuted(object para) { ImageItemViewModel itemBase = new ImageItemViewModel(); - DiagramViewModel?.AddItemCommand.Execute(itemBase); + DiagramViewModel?.AddCommand.Execute(itemBase); if (itemBase.Root != null) { _service.DrawModeViewModel.CursorMode = CursorMode.Move; @@ -631,7 +631,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels public void AddVideoExectued(object para) { VideoItemViewModel itemBase = new VideoItemViewModel(); - DiagramViewModel?.AddItemCommand.Execute(itemBase); + DiagramViewModel?.AddCommand.Execute(itemBase); if (itemBase.Root != null) { _service.DrawModeViewModel.CursorMode = CursorMode.Move; @@ -641,7 +641,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels public void AddOutLineTextExecuted(object para) { OutLineTextDesignerItemViewModel itemBase = new OutLineTextDesignerItemViewModel(); - DiagramViewModel?.AddItemCommand.Execute(itemBase); + DiagramViewModel?.AddCommand.Execute(itemBase); if (itemBase.Root != null) { _service.DrawModeViewModel.CursorMode = CursorMode.Move; @@ -651,7 +651,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels public void AddBarcodeExecuted(object para) { BarcodeDesignerItemViewModel itemBase = new BarcodeDesignerItemViewModel() { Format = (BarcodeFormat)Enum.Parse(typeof(BarcodeFormat), para.ToString()), Text = "AIStudio.Wpf.DiagramApp" }; - DiagramViewModel?.AddItemCommand.Execute(itemBase); + DiagramViewModel?.AddCommand.Execute(itemBase); if (itemBase.Root != null) { _service.DrawModeViewModel.CursorMode = CursorMode.Move; diff --git a/AIStudio.Wpf.DiagramApp/ViewModels/ToolBoxViewModel.cs b/AIStudio.Wpf.DiagramApp/ViewModels/ToolBoxViewModel.cs index e061c62..d8d7bb8 100644 --- a/AIStudio.Wpf.DiagramApp/ViewModels/ToolBoxViewModel.cs +++ b/AIStudio.Wpf.DiagramApp/ViewModels/ToolBoxViewModel.cs @@ -80,7 +80,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels } private ICommand _addItemCommand; - public ICommand AddItemCommand + public ICommand AddCommand { get { @@ -119,7 +119,9 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels List defaultToolBoxItems = new List(); defaultToolBoxItems.Add(new TextToolBoxData("", typeof(DefaultDesignerItemViewModel))); - + var blockitem = new TextToolBoxData("", typeof(BlockDesignerItemViewModel), 64, 32, new Size(130, 65)); + blockitem.ColorViewModel.FillColor.Color = Color.FromRgb(0x00, 0x2F, 0xA7); + defaultToolBoxItems.Add(blockitem); ToolBoxCategory.Add(new ToolBoxCategory() { Header = "Default", ToolBoxItems = new ObservableCollection(defaultToolBoxItems), IsExpanded = true }); ToolBoxCategory.Add(new ToolBoxCategory() { Header = "Svg", ToolBoxItems = new ObservableCollection() }); diff --git a/AIStudio.Wpf.DiagramApp/Views/MainWindow.xaml b/AIStudio.Wpf.DiagramApp/Views/MainWindow.xaml index ece665e..8e90371 100644 --- a/AIStudio.Wpf.DiagramApp/Views/MainWindow.xaml +++ b/AIStudio.Wpf.DiagramApp/Views/MainWindow.xaml @@ -2556,6 +2556,16 @@ Width="190" /> + + + + + + + + diff --git a/AIStudio.Wpf.DiagramApp/Views/ToolBoxControl.xaml b/AIStudio.Wpf.DiagramApp/Views/ToolBoxControl.xaml index 0c4b359..74ad368 100644 --- a/AIStudio.Wpf.DiagramApp/Views/ToolBoxControl.xaml +++ b/AIStudio.Wpf.DiagramApp/Views/ToolBoxControl.xaml @@ -363,7 +363,7 @@ -