mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-04 16:16:34 +08:00
把底层再分割一下
This commit is contained in:
@@ -16,7 +16,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
/// BindingWidthAndHeight Dependency Property
|
||||
/// </summary>
|
||||
public static readonly DependencyProperty ResizeModeProperty =
|
||||
DependencyProperty.Register("ResizeMode", typeof(ResizeMode), typeof(BorderResizeThumb),
|
||||
DependencyProperty.Register(nameof(ResizeMode), typeof(ResizeMode), typeof(BorderResizeThumb),
|
||||
new FrameworkPropertyMetadata(ResizeMode.Size));
|
||||
|
||||
/// <summary>
|
||||
@@ -37,7 +37,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
/// BindingWidthAndHeight Dependency Property
|
||||
/// </summary>
|
||||
public static readonly DependencyProperty ResizeElementProperty =
|
||||
DependencyProperty.Register("ResizeElement", typeof(FrameworkElement), typeof(BorderResizeThumb),
|
||||
DependencyProperty.Register(nameof(ResizeElement), typeof(FrameworkElement), typeof(BorderResizeThumb),
|
||||
new FrameworkPropertyMetadata(null));
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
#region GridCellSize
|
||||
|
||||
public static readonly DependencyProperty GridCellSizeProperty =
|
||||
DependencyProperty.Register("GridCellSize",
|
||||
DependencyProperty.Register(nameof(GridCellSize),
|
||||
typeof(Size),
|
||||
typeof(DesignerCanvas),
|
||||
new FrameworkPropertyMetadata(new Size(50, 50), FrameworkPropertyMetadataOptions.AffectsRender));
|
||||
@@ -73,7 +73,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
#region ShowGrid
|
||||
|
||||
public static readonly DependencyProperty ShowGridProperty =
|
||||
DependencyProperty.Register("ShowGrid",
|
||||
DependencyProperty.Register(nameof(ShowGrid),
|
||||
typeof(bool),
|
||||
typeof(DesignerCanvas),
|
||||
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
|
||||
@@ -89,7 +89,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
#region GridColor
|
||||
|
||||
public static readonly DependencyProperty GridColorProperty =
|
||||
DependencyProperty.Register("GridColor",
|
||||
DependencyProperty.Register(nameof(GridColor),
|
||||
typeof(Color),
|
||||
typeof(DesignerCanvas),
|
||||
new FrameworkPropertyMetadata(Colors.LightGray, FrameworkPropertyMetadataOptions.AffectsRender));
|
||||
@@ -105,7 +105,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
#region GridMargin 单位mm
|
||||
|
||||
public static readonly DependencyProperty GridMarginProperty =
|
||||
DependencyProperty.Register("GridMargin",
|
||||
DependencyProperty.Register(nameof(GridMargin),
|
||||
typeof(double),
|
||||
typeof(DesignerCanvas),
|
||||
new FrameworkPropertyMetadata(28d, FrameworkPropertyMetadataOptions.AffectsRender));
|
||||
@@ -169,7 +169,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
StreamResourceInfo sri = Application.GetResourceStream(new Uri("pack://application:,,,/AIStudio.Wpf.DiagramDesigner;component/Images/FormatPainter.cur", UriKind.RelativeOrAbsolute));
|
||||
this.Cursor = new Cursor(sri.Stream);
|
||||
foreach (SelectableViewModelBase item in _viewModel.Items)
|
||||
foreach (SelectableDesignerItemViewModelBase item in _viewModel.Items)
|
||||
{
|
||||
item.IsHitTestVisible = false;
|
||||
}
|
||||
@@ -178,7 +178,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
private void EnterMove()
|
||||
{
|
||||
this.Cursor = Cursors.SizeAll;
|
||||
foreach (SelectableViewModelBase item in _viewModel.Items)
|
||||
foreach (SelectableDesignerItemViewModelBase item in _viewModel.Items)
|
||||
{
|
||||
item.IsHitTestVisible = false;
|
||||
}
|
||||
@@ -187,7 +187,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
private void ExitCursor()
|
||||
{
|
||||
this.Cursor = Cursors.Arrow;
|
||||
foreach (SelectableViewModelBase item in _viewModel.Items)
|
||||
foreach (SelectableDesignerItemViewModelBase item in _viewModel.Items)
|
||||
{
|
||||
item.IsHitTestVisible = true;
|
||||
}
|
||||
@@ -195,7 +195,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
#endregion
|
||||
|
||||
private void Format(SelectableViewModelBase source, SelectableViewModelBase target)
|
||||
private void Format(SelectableDesignerItemViewModelBase source, SelectableDesignerItemViewModelBase target)
|
||||
{
|
||||
CopyHelper.CopyPropertyValue(source.ColorViewModel, target.ColorViewModel);
|
||||
CopyHelper.CopyPropertyValue(source.FontViewModel, target.FontViewModel);
|
||||
@@ -253,7 +253,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
if (_service.DrawModeViewModel.CursorMode == CursorMode.Format)
|
||||
{
|
||||
var element = (e.OriginalSource as FrameworkElement);
|
||||
if (element.DataContext is SelectableViewModelBase target)
|
||||
if (element.DataContext is SelectableDesignerItemViewModelBase target)
|
||||
{
|
||||
Format(_viewModel.SelectedItems.FirstOrDefault(), target);
|
||||
return;
|
||||
|
||||
@@ -18,16 +18,16 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
base.DragCompleted += DragThumb_DragCompleted;
|
||||
}
|
||||
|
||||
private List<SelectableViewModelBase> designerItems;
|
||||
private List<SelectableDesignerItemViewModelBase> designerItems;
|
||||
|
||||
private void DragThumb_DragStarted(object sender, DragStartedEventArgs e)
|
||||
{
|
||||
SelectableViewModelBase designerItem = this.DataContext as SelectableViewModelBase;
|
||||
SelectableDesignerItemViewModelBase designerItem = this.DataContext as SelectableDesignerItemViewModelBase;
|
||||
|
||||
if (designerItem != null && designerItem.IsSelected)
|
||||
{
|
||||
// we only move DesignerItems
|
||||
designerItems = designerItem.SelectedItems.ToList();
|
||||
designerItems = designerItem.Parent.SelectedItems.ToList();
|
||||
if (designerItem is ConnectorViewModel connector)
|
||||
{
|
||||
designerItems.Add(connector.SourceConnectorInfo.DataItem);
|
||||
@@ -35,15 +35,11 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
{
|
||||
designerItems.Add(connector.SinkConnectorInfoFully.DataItem);
|
||||
}
|
||||
if (designerItem.OutTextItem != null)
|
||||
{
|
||||
designerItems.Remove(designerItem.OutTextItem);//这个自动计算位置
|
||||
}
|
||||
}
|
||||
|
||||
if (designerItem is PointDesignerItemViewModel)
|
||||
{
|
||||
designerItems = new List<SelectableViewModelBase> { designerItem };
|
||||
designerItems = new List<SelectableDesignerItemViewModelBase> { designerItem };
|
||||
}
|
||||
|
||||
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
{
|
||||
#region SelectedObject
|
||||
|
||||
public static readonly DependencyProperty SelectedObjectProperty = DependencyProperty.Register("SelectedObject", typeof(object), typeof(PropertiesView), new UIPropertyMetadata(null, OnSelectedObjectChanged));
|
||||
public static readonly DependencyProperty SelectedObjectProperty = DependencyProperty.Register(nameof(SelectedObject), typeof(object), typeof(PropertiesView), new UIPropertyMetadata(null, OnSelectedObjectChanged));
|
||||
public object SelectedObject
|
||||
{
|
||||
get
|
||||
@@ -57,7 +57,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
|
||||
#endregion //SelectedObject
|
||||
|
||||
public static readonly DependencyProperty NeedBrowsableProperty = DependencyProperty.Register("NeedBrowsable", typeof(bool), typeof(PropertiesView), new UIPropertyMetadata(true));
|
||||
public static readonly DependencyProperty NeedBrowsableProperty = DependencyProperty.Register(nameof(NeedBrowsable), typeof(bool), typeof(PropertiesView), new UIPropertyMetadata(true));
|
||||
public bool NeedBrowsable
|
||||
{
|
||||
get
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
base.DragCompleted += ResizeThumb_DragCompleted;
|
||||
}
|
||||
|
||||
private List<SelectableViewModelBase> designerItems;
|
||||
private List<SelectableDesignerItemViewModelBase> designerItems;
|
||||
IDiagramViewModel diagarmViewModel;
|
||||
|
||||
private void ResizeThumb_DragStarted(object sender, DragStartedEventArgs e)
|
||||
@@ -26,7 +26,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
diagarmViewModel = designerItem.Parent;
|
||||
if (designerItem != null && designerItem.IsSelected)
|
||||
{
|
||||
designerItems = designerItem.SelectedItems.ToList();
|
||||
designerItems = designerItem.Parent.SelectedItems.ToList();
|
||||
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
|
||||
{
|
||||
item.BeginDo = true;
|
||||
|
||||
@@ -16,7 +16,6 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
private double initialAngle;
|
||||
private Canvas designerCanvas;
|
||||
private DesignerItemViewModelBase designerItem;
|
||||
private RotateTransform rotateTransform;
|
||||
|
||||
public RotateThumb()
|
||||
{
|
||||
@@ -25,7 +24,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
DragCompleted += RotateThumb_DragCompleted;
|
||||
}
|
||||
|
||||
private List<SelectableViewModelBase> designerItems;
|
||||
private List<SelectableDesignerItemViewModelBase> designerItems;
|
||||
|
||||
private void RotateThumb_DragStarted(object sender, DragStartedEventArgs e)
|
||||
{
|
||||
@@ -33,7 +32,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
|
||||
if (this.designerItem != null)
|
||||
{
|
||||
designerItems = designerItem.SelectedItems.ToList();
|
||||
designerItems = designerItem.Parent.SelectedItems.ToList();
|
||||
|
||||
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
|
||||
{
|
||||
|
||||
@@ -24,14 +24,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ScrollViewerProperty =
|
||||
DependencyProperty.Register("ScrollViewer", typeof(ScrollViewer), typeof(ZoomBox));
|
||||
DependencyProperty.Register(nameof(ScrollViewer), typeof(ScrollViewer), typeof(ZoomBox));
|
||||
#endregion
|
||||
|
||||
#region DesignerCanvas
|
||||
|
||||
|
||||
public static readonly DependencyProperty DesignerCanvasProperty =
|
||||
DependencyProperty.Register("DesignerCanvas", typeof(DesignerCanvas), typeof(ZoomBox),
|
||||
DependencyProperty.Register(nameof(DesignerCanvas), typeof(DesignerCanvas), typeof(ZoomBox),
|
||||
new FrameworkPropertyMetadata(null,
|
||||
new PropertyChangedCallback(OnDesignerCanvasChanged)));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user