mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
整理序列化
This commit is contained in:
@@ -26,21 +26,21 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
public SelectableViewModelBase(IDiagramViewModel parent, SelectableDesignerItemBase designer)
|
||||
public SelectableViewModelBase(IDiagramViewModel root, SelectableItemBase designer)
|
||||
{
|
||||
Init();
|
||||
LoadDesignerItemViewModel(parent, designer);
|
||||
LoadDesignerItemViewModel(root, designer);
|
||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
public SelectableViewModelBase(IDiagramViewModel parent, string json)
|
||||
public SelectableViewModelBase(IDiagramViewModel root, string json)
|
||||
{
|
||||
Init();
|
||||
LoadDesignerItemViewModel(parent, JsonConvert.DeserializeObject(json, ToXmlType()) as SelectableDesignerItemBase);
|
||||
LoadDesignerItemViewModel(root, JsonConvert.DeserializeObject(json, ToXmlType()) as SelectableItemBase);
|
||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
public virtual SelectableDesignerItemBase ToXmlObject()
|
||||
public virtual SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
@@ -72,9 +72,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
LockObjectViewModel = new LockObjectViewModel();
|
||||
}
|
||||
|
||||
protected virtual void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected virtual void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
this.Parent = parent;
|
||||
this.Root = root;
|
||||
|
||||
this.Id = designerbase.Id;
|
||||
this.ParentId = designerbase.ParentId;
|
||||
@@ -86,10 +86,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
FontViewModel = CopyHelper.Mapper<FontViewModel, FontItem>(designerbase.FontItem);
|
||||
}
|
||||
|
||||
public IDiagramViewModel Parent
|
||||
public IDiagramViewModel Root
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public SelectableViewModelBase Parent
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public Guid Id
|
||||
{
|
||||
get; set;
|
||||
@@ -148,10 +154,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Parent?.IsReadOnly == true && Parent?.IsLoading == false)
|
||||
if (Root?.IsReadOnly == true && Root?.IsLoading == false)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Parent?.IsReadOnly == true)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (LockObjectViewModel?.LockObject.FirstOrDefault(p => p.LockFlag == LockFlag.All)?.IsChecked == true)
|
||||
{
|
||||
return true;
|
||||
@@ -170,10 +182,15 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Parent?.IsHitTestVisible == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return _isHitTestVisible;
|
||||
}
|
||||
set
|
||||
{
|
||||
{
|
||||
if (SetProperty(ref _isHitTestVisible, value))
|
||||
{
|
||||
RaisePropertyChanged("IsReadOnly");
|
||||
|
||||
Reference in New Issue
Block a user