mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-02 15:50:51 +08:00
动画demo完成
This commit is contained in:
@@ -20,34 +20,38 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public SelectableViewModelBase()
|
||||
public SelectableViewModelBase() : this(null)
|
||||
{
|
||||
Init();
|
||||
|
||||
}
|
||||
|
||||
public SelectableViewModelBase(IDiagramViewModel root)
|
||||
{
|
||||
Init(root);
|
||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
public SelectableViewModelBase(IDiagramViewModel root, SelectableItemBase designer)
|
||||
{
|
||||
Init();
|
||||
LoadDesignerItemViewModel(root, designer);
|
||||
Init(root);
|
||||
LoadDesignerItemViewModel(designer);
|
||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
public SelectableViewModelBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType)
|
||||
{
|
||||
Init();
|
||||
|
||||
Init(root);
|
||||
SelectableItemBase obj = SerializeHelper.DeserializeObject(serializableItem.SerializableTypeName, serializableItem.SerializableString, serializableType);
|
||||
LoadDesignerItemViewModel(root, obj);
|
||||
LoadDesignerItemViewModel(obj);
|
||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual SerializableItem ToSerializableItem(string serializableType)
|
||||
{
|
||||
var obj = GetSerializableObject();
|
||||
if (obj != null)
|
||||
{
|
||||
return new SerializableItem() { ModelTypeName = this.GetType().FullName, SerializableTypeName = obj.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,8 +64,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return null;
|
||||
}
|
||||
|
||||
protected virtual void Init()
|
||||
protected virtual void Init(IDiagramViewModel root)
|
||||
{
|
||||
Root = root;
|
||||
|
||||
if (Root?.ColorViewModel != null)
|
||||
{
|
||||
this.ColorViewModel = CopyHelper.Mapper(Root.ColorViewModel);
|
||||
@@ -92,10 +98,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
LockObjectViewModel = new LockObjectViewModel();
|
||||
}
|
||||
|
||||
protected virtual void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
protected virtual void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||
{
|
||||
this.Root = root;
|
||||
|
||||
this.Id = designerbase.Id;
|
||||
this.ParentId = designerbase.ParentId;
|
||||
this.IsGroup = designerbase.IsGroup;
|
||||
@@ -211,7 +215,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return _isHitTestVisible;
|
||||
}
|
||||
set
|
||||
{
|
||||
{
|
||||
if (SetProperty(ref _isHitTestVisible, value))
|
||||
{
|
||||
RaisePropertyChanged("IsReadOnly");
|
||||
|
||||
Reference in New Issue
Block a user