diff --git a/Ink Canvas/MainWindow.xaml.cs b/Ink Canvas/MainWindow.xaml.cs index af57d460..f87d40a8 100644 --- a/Ink Canvas/MainWindow.xaml.cs +++ b/Ink Canvas/MainWindow.xaml.cs @@ -1003,7 +1003,11 @@ namespace Ink_Canvas // 如果当前有选中的元素,取消选中状态 if (currentSelectedElement != null) { + // 保存当前编辑模式 + var previousEditingMode = inkCanvas.EditingMode; UnselectElement(currentSelectedElement); + // 恢复编辑模式 + inkCanvas.EditingMode = previousEditingMode; currentSelectedElement = null; } } diff --git a/Ink Canvas/MainWindow_cs/MW_BoardControls.cs b/Ink Canvas/MainWindow_cs/MW_BoardControls.cs index f3a90152..1e345f06 100644 --- a/Ink Canvas/MainWindow_cs/MW_BoardControls.cs +++ b/Ink Canvas/MainWindow_cs/MW_BoardControls.cs @@ -133,7 +133,11 @@ namespace Ink_Canvas // 隐藏图片选择工具栏 if (currentSelectedElement != null) { + // 保存当前编辑模式 + var previousEditingMode = inkCanvas.EditingMode; UnselectElement(currentSelectedElement); + // 恢复编辑模式 + inkCanvas.EditingMode = previousEditingMode; currentSelectedElement = null; } @@ -219,7 +223,11 @@ namespace Ink_Canvas // 隐藏图片选择工具栏 if (currentSelectedElement != null) { + // 保存当前编辑模式 + var previousEditingMode = inkCanvas.EditingMode; UnselectElement(currentSelectedElement); + // 恢复编辑模式 + inkCanvas.EditingMode = previousEditingMode; currentSelectedElement = null; } @@ -249,7 +257,11 @@ namespace Ink_Canvas // 隐藏图片选择工具栏 if (currentSelectedElement != null) { + // 保存当前编辑模式 + var previousEditingMode = inkCanvas.EditingMode; UnselectElement(currentSelectedElement); + // 恢复编辑模式 + inkCanvas.EditingMode = previousEditingMode; currentSelectedElement = null; } @@ -272,7 +284,11 @@ namespace Ink_Canvas // 隐藏图片选择工具栏 if (currentSelectedElement != null) { + // 保存当前编辑模式 + var previousEditingMode = inkCanvas.EditingMode; UnselectElement(currentSelectedElement); + // 恢复编辑模式 + inkCanvas.EditingMode = previousEditingMode; currentSelectedElement = null; } @@ -307,7 +323,11 @@ namespace Ink_Canvas // 隐藏图片选择工具栏 if (currentSelectedElement != null) { + // 保存当前编辑模式 + var previousEditingMode = inkCanvas.EditingMode; UnselectElement(currentSelectedElement); + // 恢复编辑模式 + inkCanvas.EditingMode = previousEditingMode; currentSelectedElement = null; } diff --git a/Ink Canvas/MainWindow_cs/MW_ElementsControls.cs b/Ink Canvas/MainWindow_cs/MW_ElementsControls.cs index cb991b8e..770cbd74 100644 --- a/Ink Canvas/MainWindow_cs/MW_ElementsControls.cs +++ b/Ink Canvas/MainWindow_cs/MW_ElementsControls.cs @@ -110,7 +110,11 @@ namespace Ink_Canvas // 取消之前选中的元素 if (currentSelectedElement != null && currentSelectedElement != element) { + // 保存当前编辑模式 + var previousEditingMode = inkCanvas.EditingMode; UnselectElement(currentSelectedElement); + // 恢复编辑模式 + inkCanvas.EditingMode = previousEditingMode; } // 选中当前元素 @@ -323,11 +327,7 @@ namespace Ink_Canvas GridInkCanvasSelectionCover.Visibility = Visibility.Collapsed; } - // 恢复InkCanvas的编辑模式 - if (inkCanvas != null) - { - inkCanvas.EditingMode = InkCanvasEditingMode.Ink; - } + } // 应用矩阵变换到元素 @@ -1179,6 +1179,9 @@ namespace Ink_Canvas { if (currentSelectedElement != null) { + // 保存删除前的编辑模式 + var previousEditingMode = inkCanvas.EditingMode; + // 记录删除历史 timeMachine.CommitElementRemoveHistory(currentSelectedElement); @@ -1189,7 +1192,10 @@ namespace Ink_Canvas UnselectElement(currentSelectedElement); currentSelectedElement = null; - LogHelper.WriteLogToFile($"图片删除完成"); + // 恢复到删除前的编辑模式 + inkCanvas.EditingMode = previousEditingMode; + + LogHelper.WriteLogToFile($"图片删除完成,已恢复到编辑模式: {previousEditingMode}"); } } catch (Exception ex) diff --git a/Ink Canvas/MainWindow_cs/MW_PageListView.cs b/Ink Canvas/MainWindow_cs/MW_PageListView.cs index 5b4daa7e..2a185925 100644 --- a/Ink Canvas/MainWindow_cs/MW_PageListView.cs +++ b/Ink Canvas/MainWindow_cs/MW_PageListView.cs @@ -89,7 +89,11 @@ namespace Ink_Canvas // 隐藏图片选择工具栏 if (currentSelectedElement != null) { + // 保存当前编辑模式 + var previousEditingMode = inkCanvas.EditingMode; UnselectElement(currentSelectedElement); + // 恢复编辑模式 + inkCanvas.EditingMode = previousEditingMode; currentSelectedElement = null; } @@ -118,7 +122,11 @@ namespace Ink_Canvas // 隐藏图片选择工具栏 if (currentSelectedElement != null) { + // 保存当前编辑模式 + var previousEditingMode = inkCanvas.EditingMode; UnselectElement(currentSelectedElement); + // 恢复编辑模式 + inkCanvas.EditingMode = previousEditingMode; currentSelectedElement = null; }