This commit is contained in:
艾竹
2023-03-28 22:09:24 +08:00
parent 43b5d82fae
commit 72da084f15
5 changed files with 73 additions and 64 deletions

View File

@@ -108,7 +108,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
public void ThemeChange()
{
MindThemeHelper.ThemeChange(this, MindThemeModel);
}
}
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
@@ -119,8 +119,22 @@ namespace AIStudio.Wpf.Mind.ViewModels
Spacing = designer.Spacing;
Offset = designer.Offset;
IsExpanded = designer.IsExpanded;
LinkInfo = new LinkInfo(designer.LinkInfoItem?.Url, designer.LinkInfoItem?.Text);
ImageInfo = new ImageInfo(designer.ImageInfoItem?.Url, designer.ImageInfoItem?.Text);
if (string.IsNullOrEmpty(designer.LinkInfoItem?.Url) && string.IsNullOrEmpty(designer.LinkInfoItem?.Text))
{
LinkInfo = null;
}
else
{
LinkInfo = new LinkInfo(designer.LinkInfoItem?.Url, designer.LinkInfoItem?.Text);
}
if (string.IsNullOrEmpty(designer.ImageInfoItem?.Url) && string.IsNullOrEmpty(designer.ImageInfoItem?.Text))
{
ImageInfo = null;
}
else
{
ImageInfo = new ImageInfo(designer.ImageInfoItem?.Url, designer.ImageInfoItem?.Text);
}
Remark = designer.Remark;
Priority = designer.Priority;
Rate = designer.Rate;
@@ -235,44 +249,7 @@ namespace AIStudio.Wpf.Mind.ViewModels
public PointBase Offset
{
get
{
PointBase point;
if (NodeLevel == 0)
{
if (DesiredPosition == null)
{
point = new PointBase();
}
else
{
point = new PointBase(Position.X - DesiredPosition.Value.X, Position.Y - DesiredPosition.Value.Y);
}
}
else
{
if (DesiredPosition == null)
{
point = new PointBase();
}
else
{
point = new PointBase(Position.X - DesiredPosition.Value.X - RootNode.Offset.X, Position.Y - DesiredPosition.Value.Y - RootNode.Offset.Y);
}
}
return point;
}
set
{
if (NodeLevel == 0)
{
DesiredPosition = new PointBase(Position.X - value.X, Position.Y - value.Y);
}
else
{
DesiredPosition = new PointBase(Position.X - value.X - RootNode.Offset.X, Position.Y - value.Y - RootNode.Offset.Y);
}
}
get; set;
}
private ConnectorOrientation _connectorOrientation = ConnectorOrientation.Left;
@@ -547,6 +524,22 @@ namespace AIStudio.Wpf.Mind.ViewModels
switch (e.PropertyName)
{
case nameof(Left):
{
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
{
UpdateOffsetX((double)valuePropertyChangedEventArgs.OldValue, (double)valuePropertyChangedEventArgs.NewValue);
}
break;
}
case nameof(Top):
{
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
{
UpdateOffsetY((double)valuePropertyChangedEventArgs.OldValue, (double)valuePropertyChangedEventArgs.NewValue);
}
break;
}
case nameof(IsExpanded):
case nameof(ItemWidth):
case nameof(ItemHeight):