mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-02 15:50:51 +08:00
事件Demo完成
This commit is contained in:
@@ -129,7 +129,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
Size size = _pageSize;
|
||||
switch (PageSizeType)
|
||||
{
|
||||
{
|
||||
case PageSizeType.A3: size = new Size(297, 420); break;
|
||||
case PageSizeType.A4: size = new Size(210, 297); break;
|
||||
case PageSizeType.A5: size = new Size(148, 210); break;
|
||||
@@ -230,7 +230,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
set
|
||||
{
|
||||
_gridCellSize.Height = value;
|
||||
_gridCellSize.Height = value;
|
||||
RaisePropertyChanged(nameof(PhysicalGridCellHeight));
|
||||
RaisePropertyChanged(nameof(GridCellSize));
|
||||
}
|
||||
@@ -682,7 +682,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
#endregion
|
||||
|
||||
private DoCommandManager DoCommandManager = new DoCommandManager();
|
||||
private DoCommandManager DoCommandManager = new DoCommandManager();
|
||||
|
||||
public event DiagramEventHandler Event;
|
||||
|
||||
public DiagramViewModel()
|
||||
{
|
||||
CreateNewDiagramCommand = new SimpleCommand(ExecuteEnable, ExecuteCreateNewDiagramCommand);
|
||||
@@ -727,7 +730,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Items.CollectionChanged += Items_CollectionChanged;
|
||||
}
|
||||
|
||||
public DiagramViewModel(DiagramItem diagramItem) :this()
|
||||
public DiagramViewModel(DiagramItem diagramItem) : this()
|
||||
{
|
||||
DiagramType = diagramItem.DiagramType;
|
||||
ShowGrid = diagramItem.ShowGrid;
|
||||
@@ -741,7 +744,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
GridColor = diagramItem.GridColor;
|
||||
}
|
||||
|
||||
public bool ExecuteEnable(object para)
|
||||
public bool ExecuteEnable(object para)
|
||||
{
|
||||
return IsReadOnly == false;
|
||||
}
|
||||
@@ -815,13 +818,18 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
if (designer.BeginDo) return;
|
||||
}
|
||||
|
||||
var selectable = sender as SelectableViewModelBase;
|
||||
|
||||
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
|
||||
{
|
||||
var property = sender.GetType().GetProperty(e.PropertyName);
|
||||
var attr = property.GetCustomAttributes(typeof(CanDoAttribute), true);
|
||||
if (attr != null && attr.Length != 0)
|
||||
{
|
||||
//加入ReDo
|
||||
DoCommandManager.DoNewCommand(sender.ToString() + e.PropertyName, () => Do(sender, e.PropertyName, valuePropertyChangedEventArgs.NewValue), () => UnDo(sender, e.PropertyName, valuePropertyChangedEventArgs.OldValue), null, false);
|
||||
|
||||
Event?.Invoke(sender, new DiagramEventArgs(valuePropertyChangedEventArgs.PropertyName, valuePropertyChangedEventArgs.NewValue, valuePropertyChangedEventArgs.OldValue, selectable?.Id));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1922,8 +1930,4 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user