mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-02 15:16:37 +08:00
offset修复一半
This commit is contained in:
@@ -162,7 +162,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetLevel1Node();
|
||||
return GetLevel0Node();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -242,11 +242,19 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
get; set;
|
||||
}
|
||||
|
||||
public PointBase? DesiredPosition
|
||||
public PointBase DesiredPosition
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public PointBase DesiredMiddlePosition
|
||||
{
|
||||
get
|
||||
{
|
||||
return new PointBase(this.DesiredPosition.X + ItemWidth / 2, this.DesiredPosition.Y + ItemHeight / 2);
|
||||
}
|
||||
}
|
||||
|
||||
public PointBase Offset
|
||||
{
|
||||
get; set;
|
||||
@@ -463,6 +471,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
}
|
||||
this.Parent = parent;
|
||||
this.ParentId = parent?.Id ?? Guid.Empty;
|
||||
this.Offset = parent?.Offset ?? new PointBase();
|
||||
this.InitLayout(true);//因为节点的层级不同的样式,所以需要Parent确定后才能初始化
|
||||
this.InitConnectLayout();
|
||||
|
||||
@@ -520,7 +529,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
#endregion
|
||||
private void Item_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (GetLevel1Node()?.LayoutUpdating == true) return;
|
||||
if (GetLevel0Node()?.LayoutUpdating == true) return;
|
||||
|
||||
switch (e.PropertyName)
|
||||
{
|
||||
@@ -529,6 +538,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
|
||||
{
|
||||
UpdateOffsetX((double)valuePropertyChangedEventArgs.OldValue, (double)valuePropertyChangedEventArgs.NewValue);
|
||||
Console.WriteLine((sender as MindNode).Text);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -615,7 +625,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
IsSelected = selected;
|
||||
}
|
||||
#region 布局相关
|
||||
public MindNode GetLevel1Node()
|
||||
public MindNode GetLevel0Node()
|
||||
{
|
||||
var node = this;
|
||||
while (node.Parent is MindNode mindNode)
|
||||
@@ -625,7 +635,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
return node;
|
||||
}
|
||||
|
||||
public MindNode GetLevel2Node()
|
||||
public MindNode GetLevel1Node()
|
||||
{
|
||||
var node = this;
|
||||
while (node.Parent is MindNode mindNode && mindNode.NodeLevel == 1)
|
||||
@@ -673,7 +683,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
|
||||
|
||||
public void LayoutUpdated()
|
||||
{
|
||||
MindLayout?.LayoutUpdated(GetLevel1Node());
|
||||
MindLayout?.LayoutUpdated(GetLevel0Node());
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user