This commit is contained in:
艾竹
2023-03-25 11:59:31 +08:00
parent 8a2c742ec4
commit b36bd4b228
35 changed files with 344 additions and 296 deletions

View File

@@ -41,15 +41,31 @@ namespace AIStudio.Wpf.DiagramDesigner
return new ImageDesignerItem(this);
}
protected override void Init(IDiagramViewModel root)
protected override void Init(IDiagramViewModel root, bool initNew)
{
base.Init(root);
base.Init(root, initNew);
this.PropertyChanged += ImageItemViewModel_PropertyChanged;
BuildMenuOptions();
}
protected override void InitNew()
{
base.InitNew();
}
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
base.LoadDesignerItemViewModel(designerbase);
if (designerbase is ImageDesignerItem designer)
{
this.Icon = designer.Icon;
Suffix = Path.GetExtension(this.Icon).ToLower();
}
}
private void ImageItemViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(ItemWidth) || e.PropertyName == nameof(ItemHeight) || e.PropertyName == nameof(ResizeMargin) || e.PropertyName == nameof(ClipMode))
@@ -65,6 +81,7 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
#region
private string _suffix;
public string Suffix
{
@@ -113,24 +130,9 @@ namespace AIStudio.Wpf.DiagramDesigner
SetProperty(ref _clipMode, value);
}
}
#endregion
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
base.LoadDesignerItemViewModel(designerbase);
if (designerbase is ImageDesignerItem designer)
{
this.Icon = designer.Icon;
Suffix = Path.GetExtension(this.Icon).ToLower();
foreach (var connector in designer.Connectors)
{
FullyCreatedConnectorInfo fullyCreatedConnectorInfo = new FullyCreatedConnectorInfo(this.Root, this, connector);
AddConnector(fullyCreatedConnectorInfo);
}
}
}
private void BuildMenuOptions()
{
menuOptions = new ObservableCollection<CinchMenuItem>();