mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-05-03 14:31:28 +08:00
PropertyChanged使用基类的,各个类不在自己定义
This commit is contained in:
@@ -53,7 +53,6 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
{
|
{
|
||||||
HistoryList = new ObservableCollection<string>();
|
HistoryList = new ObservableCollection<string>();
|
||||||
}
|
}
|
||||||
this.PropertyChanged += MainWindowViewModel_PropertyChanged;
|
|
||||||
_service.PropertyChanged += Provider_PropertyChanged;
|
_service.PropertyChanged += Provider_PropertyChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -410,11 +409,6 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MainWindowViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Provider_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
private void Provider_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.PropertyName == nameof(DrawModeViewModel)
|
if (e.PropertyName == nameof(DrawModeViewModel)
|
||||||
|
|||||||
@@ -1308,7 +1308,7 @@
|
|||||||
</Fluent:SplitButton.ToolTip>
|
</Fluent:SplitButton.ToolTip>
|
||||||
</Fluent:SplitButton>
|
</Fluent:SplitButton>
|
||||||
|
|
||||||
<Fluent:Button Header="居中" Size="Middle" Icon="{iconPacks:Material Kind=ImageFilterCenterFocus}" Command="{Binding PageViewModel.DiagramViewModel.CenterCommand}" >
|
<Fluent:Button Header="居中" Size="Middle" Icon="{iconPacks:Material Kind=ImageFilterCenterFocus}" Command="{Binding PageViewModel.DiagramViewModel.CenterMoveCommand}" >
|
||||||
<Fluent:Button.ToolTip>
|
<Fluent:Button.ToolTip>
|
||||||
<Fluent:ScreenTip Title="CenterAlign"
|
<Fluent:ScreenTip Title="CenterAlign"
|
||||||
Text="元素居中"
|
Text="元素居中"
|
||||||
|
|||||||
@@ -137,12 +137,20 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 该拷贝不完整,只适应于工具栏使用
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
|
/// <param name="s"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public static T Mapper<T>(T s) where T : SelectableViewModelBase
|
public static T Mapper<T>(T s) where T : SelectableViewModelBase
|
||||||
{
|
{
|
||||||
if (s == null)
|
if (s == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
T d = Activator.CreateInstance(s.GetType()) as T;
|
T d = Activator.CreateInstance(s.GetType()) as T;
|
||||||
|
d.IsLoaded = false;
|
||||||
var properties = s.GetType().GetProperties();
|
var properties = s.GetType().GetProperties();
|
||||||
foreach (var propertie in properties)
|
foreach (var propertie in properties)
|
||||||
{
|
{
|
||||||
@@ -158,6 +166,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
d.FontViewModel = CopyHelper.Mapper(s.FontViewModel);
|
d.FontViewModel = CopyHelper.Mapper(s.FontViewModel);
|
||||||
d.ShapeViewModel = CopyHelper.Mapper(s.ShapeViewModel);
|
d.ShapeViewModel = CopyHelper.Mapper(s.ShapeViewModel);
|
||||||
d.LockObjectViewModel = CopyHelper.Mapper<LockObjectViewModel, ILockObjectViewModel>(s.LockObjectViewModel);
|
d.LockObjectViewModel = CopyHelper.Mapper<LockObjectViewModel, ILockObjectViewModel>(s.LockObjectViewModel);
|
||||||
|
d.IsLoaded = true;
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,22 +18,27 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ConnectionViewModel : SelectableDesignerItemViewModelBase
|
public class ConnectionViewModel : SelectableDesignerItemViewModelBase
|
||||||
{
|
{
|
||||||
|
public ConnectionViewModel()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public ConnectionViewModel(FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode = DrawMode.ConnectingLineSmooth, RouterMode routerMode = AIStudio.Wpf.DiagramDesigner.RouterMode.RouterNormal) : this(null, sourceConnectorInfo, sinkConnectorInfo, drawMode, routerMode)
|
public ConnectionViewModel(FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode = DrawMode.ConnectingLineSmooth, RouterMode routerMode = AIStudio.Wpf.DiagramDesigner.RouterMode.RouterNormal) : this(null, sourceConnectorInfo, sinkConnectorInfo, drawMode, routerMode)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConnectionViewModel(IDiagramViewModel root, FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode = DrawMode.ConnectingLineSmooth, RouterMode routerMode = AIStudio.Wpf.DiagramDesigner.RouterMode.RouterNormal) : base(root)
|
public ConnectionViewModel(IDiagramViewModel root, FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode = DrawMode.ConnectingLineSmooth, RouterMode routerMode = AIStudio.Wpf.DiagramDesigner.RouterMode.RouterNormal) : base(root)
|
||||||
{
|
{
|
||||||
PathMode = drawMode.ToString();
|
_pathMode = drawMode.ToString();
|
||||||
RouterMode = routerMode.ToString();
|
_routerMode = routerMode.ToString();
|
||||||
Init(root, sourceConnectorInfo, sinkConnectorInfo);
|
Init(root, sourceConnectorInfo, sinkConnectorInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConnectionViewModel(IDiagramViewModel root, FullyCreatedConnectorInfo sourceConnectorInfo, FullyCreatedConnectorInfo sinkConnectorInfo, ConnectionItem designer) : base(root, designer)
|
public ConnectionViewModel(IDiagramViewModel root, FullyCreatedConnectorInfo sourceConnectorInfo, FullyCreatedConnectorInfo sinkConnectorInfo, ConnectionItem designer) : base(root, designer)
|
||||||
{
|
{
|
||||||
PathMode = designer.PathMode;
|
_pathMode = designer.PathMode;
|
||||||
RouterMode = designer.RouterMode;
|
_routerMode = designer.RouterMode;
|
||||||
Init(root, sourceConnectorInfo, sinkConnectorInfo);
|
Init(root, sourceConnectorInfo, sinkConnectorInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,34 +58,26 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
protected virtual void Init(IDiagramViewModel root, FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo)
|
protected virtual void Init(IDiagramViewModel root, FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo)
|
||||||
{
|
{
|
||||||
this.Root = root?? sourceConnectorInfo.Root;
|
IsLoaded = false;
|
||||||
|
this.Root = root ?? sourceConnectorInfo.Root;
|
||||||
if (sinkConnectorInfo is FullyCreatedConnectorInfo sink && sink.DataItem.ShowArrow == false)
|
if (sinkConnectorInfo is FullyCreatedConnectorInfo sink && sink.DataItem.ShowArrow == false)
|
||||||
{
|
{
|
||||||
this.ShapeViewModel.SinkMarker = new LinkMarker("", 10, 10, ArrowPathStyle.None, ArrowSizeStyle.Middle);
|
this.ShapeViewModel.SinkMarker = new LinkMarker("", 10, 10, ArrowPathStyle.None, ArrowSizeStyle.Middle);
|
||||||
}
|
}
|
||||||
this.ColorViewModel.PropertyChanged += ConnectorViewModel_PropertyChanged;
|
|
||||||
this.ShapeViewModel.PropertyChanged += ConnectorViewModel_PropertyChanged;
|
|
||||||
this.PropertyChanged += ConnectorViewModel_PropertyChanged;
|
|
||||||
|
|
||||||
var routetype = TypeHelper.GetType(RouterMode);
|
var routetype = TypeHelper.GetType(RouterMode);
|
||||||
Router = routetype != null ? (System.Activator.CreateInstance(routetype) as IRouter) : new RouterNormal();
|
Router = routetype != null ? (System.Activator.CreateInstance(routetype) as IRouter) : new RouterNormal();
|
||||||
|
|
||||||
var pathGeneratortype = TypeHelper.GetType(PathMode);
|
var pathGeneratortype = TypeHelper.GetType(PathMode);
|
||||||
PathGenerator = pathGeneratortype != null ? (System.Activator.CreateInstance(pathGeneratortype) as IPathGenerator) : new ConnectingLineSmooth();
|
PathGenerator = pathGeneratortype != null ? (System.Activator.CreateInstance(pathGeneratortype) as IPathGenerator) : new ConnectingLineSmooth();
|
||||||
|
IsLoaded= true;
|
||||||
|
|
||||||
this.SourceConnectorInfo = sourceConnectorInfo;
|
this.SourceConnectorInfo = sourceConnectorInfo;
|
||||||
this.SinkConnectorInfo = sinkConnectorInfo;
|
this.SinkConnectorInfo = sinkConnectorInfo;
|
||||||
|
|
||||||
DeleteConnectionCommand = new SimpleCommand(Command_Enable, DeleteConnection);
|
DeleteConnectionCommand = new SimpleCommand(Command_Enable, DeleteConnection);
|
||||||
AddVertexCommand = new SimpleCommand(Command_Enable, AddVertex);
|
AddVertexCommand = new SimpleCommand(Command_Enable, AddVertex);
|
||||||
AddLabelCommand = new SimpleCommand(Command_Enable, para => AddLabel());
|
AddLabelCommand = new SimpleCommand(Command_Enable, para => AddLabel());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void InitNew()
|
|
||||||
{
|
|
||||||
base.InitNew();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||||
{
|
{
|
||||||
base.LoadDesignerItemViewModel(designerbase);
|
base.LoadDesignerItemViewModel(designerbase);
|
||||||
@@ -448,8 +445,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private void ConnectorViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
protected override void Item_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||||
{
|
{
|
||||||
|
if (IsLoaded == false) return;
|
||||||
|
|
||||||
if (sender is ConnectionViewModel)
|
if (sender is ConnectionViewModel)
|
||||||
{
|
{
|
||||||
switch (e.PropertyName)
|
switch (e.PropertyName)
|
||||||
@@ -464,20 +463,20 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
case nameof(Vertices):
|
case nameof(Vertices):
|
||||||
foreach (var vertice in Vertices)
|
foreach (var vertice in Vertices)
|
||||||
{
|
{
|
||||||
vertice.PropertyChanged += new WeakINPCEventHandler(ConnectorViewModel_PropertyChanged).Handler;
|
vertice.PropertyChanged += new WeakINPCEventHandler(Item_PropertyChanged).Handler;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case nameof(Labels):
|
case nameof(Labels):
|
||||||
foreach (var label in Labels)
|
foreach (var label in Labels)
|
||||||
{
|
{
|
||||||
label.PropertyChanged += new WeakINPCEventHandler(ConnectorViewModel_PropertyChanged).Handler;
|
label.PropertyChanged += new WeakINPCEventHandler(Item_PropertyChanged).Handler;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case nameof(SourceConnectorInfo):
|
case nameof(SourceConnectorInfo):
|
||||||
if (SourceConnectorInfo != null)
|
if (SourceConnectorInfo != null)
|
||||||
{
|
{
|
||||||
SourceA = PointHelper.GetPointForConnector(SourceConnectorInfo);
|
SourceA = PointHelper.GetPointForConnector(SourceConnectorInfo);
|
||||||
SourceConnectorInfo.DataItem.PropertyChanged += new WeakINPCEventHandler(ConnectorViewModel_PropertyChanged).Handler;
|
SourceConnectorInfo.DataItem.PropertyChanged += new WeakINPCEventHandler(Item_PropertyChanged).Handler;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case nameof(SinkConnectorInfo):
|
case nameof(SinkConnectorInfo):
|
||||||
@@ -486,7 +485,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
SourceB = SinkConnectorInfo.Position;
|
SourceB = SinkConnectorInfo.Position;
|
||||||
if (IsFullConnection)
|
if (IsFullConnection)
|
||||||
{
|
{
|
||||||
SinkConnectorInfoFully.DataItem.PropertyChanged += new WeakINPCEventHandler(ConnectorViewModel_PropertyChanged).Handler;
|
SinkConnectorInfoFully.DataItem.PropertyChanged += new WeakINPCEventHandler(Item_PropertyChanged).Handler;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -572,7 +571,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
else if (sender is ColorViewModel)
|
else if (sender is ColorViewModel)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -595,7 +594,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
PathGeneratorResult = PathGenerator.Get(Root, this, route, source.Value, target.Value);
|
PathGeneratorResult = PathGenerator.Get(Root, this, route, source.Value, target.Value);
|
||||||
|
|
||||||
var startMiddle = new RectangleBase
|
var startMiddle = new RectangleBase
|
||||||
(
|
(
|
||||||
(PathGeneratorResult.SourceMarkerPosition.X + (source.Value.X - Area.Left)) / 2,
|
(PathGeneratorResult.SourceMarkerPosition.X + (source.Value.X - Area.Left)) / 2,
|
||||||
(PathGeneratorResult.SourceMarkerPosition.Y + (source.Value.Y - Area.Top)) / 2,
|
(PathGeneratorResult.SourceMarkerPosition.Y + (source.Value.Y - Area.Top)) / 2,
|
||||||
0,
|
0,
|
||||||
@@ -820,7 +819,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
pointBase = new PointBase(pointBase.X - Area.Left, pointBase.Y - Area.Top);
|
pointBase = new PointBase(pointBase.X - Area.Left, pointBase.Y - Area.Top);
|
||||||
}
|
}
|
||||||
var vertice = new ConnectorVertexModel(this, pointBase);
|
var vertice = new ConnectorVertexModel(this, pointBase);
|
||||||
vertice.PropertyChanged += new WeakINPCEventHandler(ConnectorViewModel_PropertyChanged).Handler;
|
vertice.PropertyChanged += new WeakINPCEventHandler(Item_PropertyChanged).Handler;
|
||||||
Vertices.Add(vertice);
|
Vertices.Add(vertice);
|
||||||
UpdatePathGeneratorResult();
|
UpdatePathGeneratorResult();
|
||||||
}
|
}
|
||||||
@@ -839,7 +838,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
public void AddLabel(string text = null, double? distance = null, PointBase? offset = null)
|
public void AddLabel(string text = null, double? distance = null, PointBase? offset = null)
|
||||||
{
|
{
|
||||||
var label = new ConnectorLabelModel(this, text?.ToString(), distance, offset);
|
var label = new ConnectorLabelModel(this, text?.ToString(), distance, offset);
|
||||||
label.PropertyChanged += new WeakINPCEventHandler(ConnectorViewModel_PropertyChanged).Handler;
|
label.PropertyChanged += new WeakINPCEventHandler(Item_PropertyChanged).Handler;
|
||||||
label.IsSelected = true;
|
label.IsSelected = true;
|
||||||
Labels.Add(label);
|
Labels.Add(label);
|
||||||
|
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
ShapeViewModel = CopyHelper.Mapper(designerbase.SharpItem);
|
ShapeViewModel = CopyHelper.Mapper(designerbase.SharpItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected bool IsLoaded
|
public bool IsLoaded
|
||||||
{
|
{
|
||||||
get;set;
|
get;set;
|
||||||
}
|
}
|
||||||
@@ -424,7 +424,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
if (IsLoaded == false) { return; }
|
if (IsLoaded == false) { return; }
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void FontViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
protected void FontViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (IsLoaded == false) { return; }
|
if (IsLoaded == false) { return; }
|
||||||
|
|
||||||
@@ -436,14 +436,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
RaisePropertyChanged(sender, e);
|
RaisePropertyChanged(sender, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void ColorViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
protected void ColorViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (IsLoaded == false) { return; }
|
if (IsLoaded == false) { return; }
|
||||||
|
|
||||||
RaisePropertyChanged(sender, e);
|
RaisePropertyChanged(sender, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void ShapeViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
protected void ShapeViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (IsLoaded == false) { return; }
|
if (IsLoaded == false) { return; }
|
||||||
|
|
||||||
|
|||||||
@@ -45,8 +45,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
base.Init(root, initNew);
|
base.Init(root, initNew);
|
||||||
|
|
||||||
this.PropertyChanged += ImageItemViewModel_PropertyChanged;
|
|
||||||
|
|
||||||
BuildMenuOptions();
|
BuildMenuOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,8 +64,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ImageItemViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
protected override void Item_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||||
{
|
{
|
||||||
|
if (this.IsLoaded == false) return;
|
||||||
|
|
||||||
if (e.PropertyName == nameof(ItemWidth) || e.PropertyName == nameof(ItemHeight) || e.PropertyName == nameof(ResizeMargin) || e.PropertyName == nameof(ClipMode))
|
if (e.PropertyName == nameof(ItemWidth) || e.PropertyName == nameof(ItemHeight) || e.PropertyName == nameof(ResizeMargin) || e.PropertyName == nameof(ClipMode))
|
||||||
{
|
{
|
||||||
RaisePropertyChanged(nameof(Object));
|
RaisePropertyChanged(nameof(Object));
|
||||||
|
|||||||
@@ -99,12 +99,11 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
|||||||
|
|
||||||
public void InitLayout(bool initAppearance)
|
public void InitLayout(bool initAppearance)
|
||||||
{
|
{
|
||||||
|
IsLoaded = false;
|
||||||
var layout = TypeHelper.GetType(this.MindType.ToString() + "Layout");
|
var layout = TypeHelper.GetType(this.MindType.ToString() + "Layout");
|
||||||
MindLayout = layout != null ? (System.Activator.CreateInstance(layout) as IMindLayout) : new MindLayout();
|
MindLayout = layout != null ? (System.Activator.CreateInstance(layout) as IMindLayout) : new MindLayout();
|
||||||
|
|
||||||
this.PropertyChanged -= this.Item_PropertyChanged;
|
|
||||||
MindLayout.Appearance(this, MindTheme, initAppearance);
|
MindLayout.Appearance(this, MindTheme, initAppearance);
|
||||||
this.PropertyChanged += this.Item_PropertyChanged;
|
IsLoaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitConnectionLayout()
|
public void InitConnectionLayout()
|
||||||
@@ -559,7 +558,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
|||||||
|
|
||||||
public void RemoveFrom()
|
public void RemoveFrom()
|
||||||
{
|
{
|
||||||
this.PropertyChanged -= Item_PropertyChanged;
|
this.IsLoaded = false;
|
||||||
if (this.ParentNode != null)
|
if (this.ParentNode != null)
|
||||||
{
|
{
|
||||||
this.ParentNode.Children.Remove(this);
|
this.ParentNode.Children.Remove(this);
|
||||||
@@ -572,8 +571,10 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 属性改变
|
#region 属性改变
|
||||||
private void Item_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
protected override void Item_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||||
{
|
{
|
||||||
|
if (IsLoaded == false) return;
|
||||||
|
|
||||||
if (GetLevel0Node()?.LayoutUpdating == true) return;
|
if (GetLevel0Node()?.LayoutUpdating == true) return;
|
||||||
|
|
||||||
Interlocked.Increment(ref Root.DoCommandManager.BeginDo);
|
Interlocked.Increment(ref Root.DoCommandManager.BeginDo);
|
||||||
@@ -600,7 +601,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
|||||||
case nameof(ItemWidth):
|
case nameof(ItemWidth):
|
||||||
case nameof(ItemHeight):
|
case nameof(ItemHeight):
|
||||||
{
|
{
|
||||||
|
|
||||||
UpdatedLayout();
|
UpdatedLayout();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -617,17 +618,12 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
|||||||
SetItemWidthHeight();
|
SetItemWidthHeight();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case nameof(FontViewModel.FontSize):
|
||||||
|
SetItemWidthHeight();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
Interlocked.Decrement(ref Root.DoCommandManager.BeginDo);
|
Interlocked.Decrement(ref Root.DoCommandManager.BeginDo);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void FontViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
|
||||||
{
|
|
||||||
if (e.PropertyName == nameof(FontViewModel.FontSize))
|
|
||||||
{
|
|
||||||
SetItemWidthHeight();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 布局相关
|
#region 布局相关
|
||||||
|
|||||||
Reference in New Issue
Block a user