支持画笔及痕迹擦除,为白板做准备

This commit is contained in:
艾竹
2023-05-07 23:01:38 +08:00
parent 4a1d25fdf0
commit c3342ced13
30 changed files with 2639 additions and 607 deletions

View File

@@ -148,22 +148,22 @@ namespace AIStudio.Wpf.DiagramDesigner.ViewModels.BaseViewModel
get; set;
}
private SelectableDesignerItemViewModelBase _selectedItem;
private SelectableDesignerItemViewModelBase _selectedItemViewModel;
public SelectableDesignerItemViewModelBase SelectedItemViewModel
{
get
{
return _selectedItem;
return _selectedItemViewModel;
}
set
{
if (_selectedItem != null)
if (_selectedItemViewModel != null)
{
_selectedItem.PropertyChanged -= ViewModel_PropertyChanged;
_selectedItemViewModel.PropertyChanged -= ViewModel_PropertyChanged;
}
if (SetProperty(ref _selectedItem, value))
if (SetProperty(ref _selectedItemViewModel, value))
{
if (_selectedItem == null)
if (_selectedItemViewModel == null)
{
ColorViewModel = GetOldValue<ColorViewModel>(nameof(ColorViewModel));
FontViewModel = GetOldValue<FontViewModel>(nameof(FontViewModel));
@@ -173,16 +173,16 @@ namespace AIStudio.Wpf.DiagramDesigner.ViewModels.BaseViewModel
}
else
{
ColorViewModel = _selectedItem.ColorViewModel;
FontViewModel = _selectedItem.FontViewModel;
ShapeViewModel = _selectedItem.ShapeViewModel;
AnimationViewModel = _selectedItem.AnimationViewModel;
LockObjectViewModel = _selectedItem.LockObjectViewModel;
ColorViewModel = _selectedItemViewModel.ColorViewModel;
FontViewModel = _selectedItemViewModel.FontViewModel;
ShapeViewModel = _selectedItemViewModel.ShapeViewModel;
AnimationViewModel = _selectedItemViewModel.AnimationViewModel;
LockObjectViewModel = _selectedItemViewModel.LockObjectViewModel;
}
}
if (_selectedItem != null)
if (_selectedItemViewModel != null)
{
_selectedItem.PropertyChanged += ViewModel_PropertyChanged;
_selectedItemViewModel.PropertyChanged += ViewModel_PropertyChanged;
}
}
}

View File

@@ -71,7 +71,7 @@ namespace AIStudio.Wpf.DiagramDesigner
{
get
{
return this._editCommand ?? (this._editCommand = new SimpleCommand(Command_Enable, ExecuteSelectItemCommand));
return this._selectItemCommand ?? (this._selectItemCommand = new SimpleCommand(Command_Enable, ExecuteSelectItemCommand));
}
}

View File

@@ -192,6 +192,10 @@ namespace AIStudio.Wpf.DiagramDesigner
{
get
{
if (IsHitTestVisible == false)
{
return false;
}
return _isSelected;
}
set