序列化继续改进

This commit is contained in:
艾竹
2023-01-25 11:11:27 +08:00
parent a5005ac083
commit a01eb8825a
44 changed files with 319 additions and 398 deletions

View File

@@ -33,11 +33,11 @@ namespace AIStudio.Wpf.DiagramDesigner
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
}
public SelectableViewModelBase(IDiagramViewModel root, string serializableString, string serializableType)
public SelectableViewModelBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType)
{
Init();
SelectableItemBase obj = SerializeHelper.DeserializeObject(GetSerializableType(), serializableString, serializableType);
SelectableItemBase obj = SerializeHelper.DeserializeObject(serializableItem.SerializableTypeName, serializableItem.SerializableString, serializableType);
LoadDesignerItemViewModel(root, obj);
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
}
@@ -47,7 +47,7 @@ namespace AIStudio.Wpf.DiagramDesigner
var obj = GetSerializableObject();
if (obj != null)
{
return new SerializableItem() { TypeName = this.GetType().FullName, SerializableString = SerializeHelper.SerializeObject(obj, serializableType) };
return new SerializableItem() { ModelTypeName = this.GetType().FullName, SerializableTypeName = obj.GetType().FullName, SerializableString = SerializeHelper.SerializeObject(obj, serializableType) };
}
else
{
@@ -60,11 +60,6 @@ namespace AIStudio.Wpf.DiagramDesigner
return null;
}
public virtual Type GetSerializableType()
{
return null;
}
protected virtual void Init()
{
ColorViewModel = _service.CopyDefaultColorViewModel();