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

@@ -29,20 +29,20 @@ namespace AIStudio.Wpf.DiagramDesigner
public SelectableViewModelBase(IDiagramViewModel root)
{
Init(root);
Init(root, true);
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
}
public SelectableViewModelBase(IDiagramViewModel root, SelectableItemBase designer)
{
Init(root);
Init(root, false);
LoadDesignerItemViewModel(designer);
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
}
public SelectableViewModelBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType)
{
Init(root);
Init(root, false);
SelectableItemBase obj = SerializeHelper.DeserializeObject(serializableItem.SerializableTypeName, serializableItem.SerializableString, serializableType);
LoadDesignerItemViewModel(obj);
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
@@ -66,7 +66,7 @@ namespace AIStudio.Wpf.DiagramDesigner
return null;
}
protected virtual void Init(IDiagramViewModel root)
protected virtual void Init(IDiagramViewModel root, bool initNew)
{
Root = root;
@@ -98,6 +98,16 @@ namespace AIStudio.Wpf.DiagramDesigner
}
LockObjectViewModel = new LockObjectViewModel();
if (initNew)
{
InitNew();
}
}
protected virtual void InitNew()
{
}
protected virtual void LoadDesignerItemViewModel(SelectableItemBase designerbase)
@@ -158,7 +168,7 @@ namespace AIStudio.Wpf.DiagramDesigner
set
{
if (SetProperty(ref _isSelected, value))
{
{
//如果没有文字,失去焦点自动清除
if (_isSelected == false && string.IsNullOrEmpty(Text))
{
@@ -336,7 +346,7 @@ namespace AIStudio.Wpf.DiagramDesigner
protected virtual void ClearText()
{
}
public virtual void ClearSelected()
@@ -362,6 +372,11 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
public override string ToString()
{
return $"{Id}-{Text}";
}
public virtual void Dispose()
{
}