增加右键菜单移除全部模型
This commit is contained in:
@@ -37,8 +37,9 @@
|
||||
<s:String x:Key="Str_Show">Show</s:String>
|
||||
<s:String x:Key="Str_ListViewStatusBar">{0} items, {1} selected</s:String>
|
||||
<s:String x:Key="Str_AddSpineObject">Add...</s:String>
|
||||
<s:String x:Key="Str_RemoveSpineObject">Remove</s:String>
|
||||
<s:String x:Key="Str_AddSpineObjectFromClipboard">Add from Clipboard</s:String>
|
||||
<s:String x:Key="Str_RemoveSpineObject">Remove</s:String>
|
||||
<s:String x:Key="Str_RemoveAllSpineObject">Remove All</s:String>
|
||||
<s:String x:Key="Str_Reload">Reload</s:String>
|
||||
<s:String x:Key="Str_MoveUpSpineObject">Move Up</s:String>
|
||||
<s:String x:Key="Str_MoveDownSpineObject">Move Down</s:String>
|
||||
|
||||
@@ -37,8 +37,9 @@
|
||||
<s:String x:Key="Str_Show">表示</s:String>
|
||||
<s:String x:Key="Str_ListViewStatusBar">全{0}件、選択中{1}件</s:String>
|
||||
<s:String x:Key="Str_AddSpineObject">追加...</s:String>
|
||||
<s:String x:Key="Str_RemoveSpineObject">削除</s:String>
|
||||
<s:String x:Key="Str_AddSpineObjectFromClipboard">クリップボードから追加</s:String>
|
||||
<s:String x:Key="Str_RemoveSpineObject">削除</s:String>
|
||||
<s:String x:Key="Str_RemoveAllSpineObject">すべて削除</s:String>
|
||||
<s:String x:Key="Str_Reload">再読み込み</s:String>
|
||||
<s:String x:Key="Str_MoveUpSpineObject">上へ移動</s:String>
|
||||
<s:String x:Key="Str_MoveDownSpineObject">下へ移動</s:String>
|
||||
|
||||
@@ -37,8 +37,9 @@
|
||||
<s:String x:Key="Str_Show">显示</s:String>
|
||||
<s:String x:Key="Str_ListViewStatusBar">共 {0} 项,已选择 {1} 项</s:String>
|
||||
<s:String x:Key="Str_AddSpineObject">添加...</s:String>
|
||||
<s:String x:Key="Str_RemoveSpineObject">移除</s:String>
|
||||
<s:String x:Key="Str_AddSpineObjectFromClipboard">从剪贴板添加</s:String>
|
||||
<s:String x:Key="Str_RemoveSpineObject">移除</s:String>
|
||||
<s:String x:Key="Str_RemoveAllSpineObject">移除全部</s:String>
|
||||
<s:String x:Key="Str_Reload">重新加载</s:String>
|
||||
<s:String x:Key="Str_MoveUpSpineObject">上移</s:String>
|
||||
<s:String x:Key="Str_MoveDownSpineObject">下移</s:String>
|
||||
|
||||
@@ -144,6 +144,34 @@ namespace SpineViewer.ViewModels.MainWindow
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 移除全部模型
|
||||
/// </summary>
|
||||
public RelayCommand<IList?> Cmd_RemoveAllSpineObject => _cmd_RemoveAllSpineObject ??= new(RemoveAllSpineObject_Execute, RemoveAllSpineObject_CanExecute);
|
||||
private RelayCommand<IList?>? _cmd_RemoveAllSpineObject;
|
||||
|
||||
private void RemoveAllSpineObject_Execute(IList? args)
|
||||
{
|
||||
if (!RemoveAllSpineObject_CanExecute(args)) return;
|
||||
|
||||
if (!MessagePopupService.Quest(string.Format(AppResource.Str_RemoveItemsQuest, args.Count)))
|
||||
return;
|
||||
|
||||
lock (_spineObjectModels.Lock)
|
||||
{
|
||||
foreach (var sp in _spineObjectModels)
|
||||
sp.Dispose();
|
||||
_spineObjectModels.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
private bool RemoveAllSpineObject_CanExecute(IList? args)
|
||||
{
|
||||
if (args is null) return false;
|
||||
if (args.Count <= 0) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 从剪贴板文件列表添加模型
|
||||
/// </summary>
|
||||
|
||||
@@ -147,13 +147,16 @@
|
||||
<ContextMenu>
|
||||
<MenuItem Header="{DynamicResource Str_AddSpineObject}"
|
||||
Command="{Binding Cmd_AddSpineObject}"/>
|
||||
<MenuItem Header="{DynamicResource Str_AddSpineObjectFromClipboard}"
|
||||
InputGestureText="Ctrl+V"
|
||||
Command="{Binding Cmd_AddSpineObjectFromClipboard}"/>
|
||||
<MenuItem Header="{DynamicResource Str_RemoveSpineObject}"
|
||||
InputGestureText="Delete"
|
||||
Command="{Binding Cmd_RemoveSpineObject}"
|
||||
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}}"/>
|
||||
<MenuItem Header="{DynamicResource Str_AddSpineObjectFromClipboard}"
|
||||
InputGestureText="Ctrl+V"
|
||||
Command="{Binding Cmd_AddSpineObjectFromClipboard}"/>
|
||||
<MenuItem Header="{DynamicResource Str_RemoveAllSpineObject}"
|
||||
Command="{Binding Cmd_RemoveAllSpineObject}"
|
||||
CommandParameter="{Binding PlacementTarget.Items, RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}}"/>
|
||||
<MenuItem Header="{DynamicResource Str_Reload}"
|
||||
InputGestureText="Ctrl+R"
|
||||
Command="{Binding Cmd_ReloadSpineObject}"
|
||||
|
||||
Reference in New Issue
Block a user