mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-23 02:06:35 +08:00
PropertyChanged使用基类的,各个类不在自己定义
This commit is contained in:
@@ -99,12 +99,11 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
|
||||
public void InitLayout(bool initAppearance)
|
||||
{
|
||||
IsLoaded = false;
|
||||
var layout = TypeHelper.GetType(this.MindType.ToString() + "Layout");
|
||||
MindLayout = layout != null ? (System.Activator.CreateInstance(layout) as IMindLayout) : new MindLayout();
|
||||
|
||||
this.PropertyChanged -= this.Item_PropertyChanged;
|
||||
MindLayout.Appearance(this, MindTheme, initAppearance);
|
||||
this.PropertyChanged += this.Item_PropertyChanged;
|
||||
IsLoaded = true;
|
||||
}
|
||||
|
||||
public void InitConnectionLayout()
|
||||
@@ -559,7 +558,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
|
||||
public void RemoveFrom()
|
||||
{
|
||||
this.PropertyChanged -= Item_PropertyChanged;
|
||||
this.IsLoaded = false;
|
||||
if (this.ParentNode != null)
|
||||
{
|
||||
this.ParentNode.Children.Remove(this);
|
||||
@@ -572,8 +571,10 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
#endregion
|
||||
|
||||
#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;
|
||||
|
||||
Interlocked.Increment(ref Root.DoCommandManager.BeginDo);
|
||||
@@ -600,7 +601,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
case nameof(ItemWidth):
|
||||
case nameof(ItemHeight):
|
||||
{
|
||||
|
||||
|
||||
UpdatedLayout();
|
||||
break;
|
||||
}
|
||||
@@ -617,17 +618,12 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
SetItemWidthHeight();
|
||||
break;
|
||||
}
|
||||
case nameof(FontViewModel.FontSize):
|
||||
SetItemWidthHeight();
|
||||
break;
|
||||
}
|
||||
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
|
||||
|
||||
#region 布局相关
|
||||
|
||||
Reference in New Issue
Block a user