This commit is contained in:
艾竹
2023-03-26 23:23:34 +08:00
parent 90e94a7ec0
commit 43b5d82fae
31 changed files with 1692 additions and 518 deletions

View File

@@ -319,16 +319,16 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
private Size _gridMargin = new Size(28, 28);
private Size _gridMarginSize = new Size(28, 28);
public Size GridMarginSize
{
get
{
return _gridMargin;
return _gridMarginSize;
}
set
{
SetProperty(ref _gridMargin, value);
SetProperty(ref _gridMarginSize, value);
}
}
@@ -336,11 +336,11 @@ namespace AIStudio.Wpf.DiagramDesigner
{
get
{
return _gridMargin.Width;
return _gridMarginSize.Width;
}
set
{
_gridMargin.Width = value;
_gridMarginSize.Width = value;
RaisePropertyChanged(nameof(GridMarginSize));
}
}
@@ -349,11 +349,11 @@ namespace AIStudio.Wpf.DiagramDesigner
{
get
{
return _gridMargin.Height;
return _gridMarginSize.Height;
}
set
{
_gridMargin.Height = value;
_gridMarginSize.Height = value;
RaisePropertyChanged(nameof(GridMarginSize));
}
}
@@ -630,7 +630,7 @@ namespace AIStudio.Wpf.DiagramDesigner
get; set;
} = true;
protected DoCommandManager DoCommandManager = new DoCommandManager();
public DoCommandManager DoCommandManager { get; private set; } = new DoCommandManager();
public event DiagramEventHandler Event;
@@ -1181,7 +1181,7 @@ namespace AIStudio.Wpf.DiagramDesigner
RaisePropertyChanged("Items");
}
private void Item_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
protected virtual void Item_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
RaisePropertyChanged(sender, e.PropertyName);
if (e.PropertyName == "IsSelected")
@@ -1189,12 +1189,6 @@ namespace AIStudio.Wpf.DiagramDesigner
RaisePropertyChanged(nameof(SelectedItem));
}
//连续改变需要特殊处理不单独触发属性改变ReDo
if (sender is DesignerItemViewModelBase designer)
{
if (designer.BeginDo) return;
}
var selectable = sender as SelectableViewModelBase;
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
@@ -1211,6 +1205,8 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
//提供给标尺计算延迟100ms等布局改变再计算。
private void OnZoomValueChanged(string obj)
{
@@ -1392,7 +1388,7 @@ namespace AIStudio.Wpf.DiagramDesigner
public void ClearSelectedItems()
{
foreach (var item in this.Items.ToList())
foreach (var item in this.SelectedItems.ToList())
{
item.IsSelected = false;
}
@@ -2356,6 +2352,8 @@ namespace AIStudio.Wpf.DiagramDesigner
FitViewModel = new FitViewModel() { BoundingRect = DiagramViewModelHelper.GetBoundingRectangle(selectedItems) };
}
public void UpdateZIndex()
{
List<SelectableDesignerItemViewModelBase> ordered = Items.OrderBy(p => p.ZIndex).ToList();