fix:图片插入
This commit is contained in:
@@ -810,6 +810,29 @@ namespace Ink_Canvas {
|
|||||||
{
|
{
|
||||||
// 使用辅助方法设置光标
|
// 使用辅助方法设置光标
|
||||||
SetCursorBasedOnEditingMode(sender as InkCanvas);
|
SetCursorBasedOnEditingMode(sender as InkCanvas);
|
||||||
|
|
||||||
|
// 在选择模式下,如果点击的不是UI元素,则取消选择
|
||||||
|
if (inkCanvas.EditingMode == InkCanvasEditingMode.Select)
|
||||||
|
{
|
||||||
|
var hitTest = e.OriginalSource;
|
||||||
|
// 如果点击的不是图片或其他UI元素,则取消选择
|
||||||
|
if (!(hitTest is Image) && !(hitTest is MediaElement))
|
||||||
|
{
|
||||||
|
// 检查是否点击在已选择的UI元素上
|
||||||
|
bool clickedOnSelectedElement = false;
|
||||||
|
if (selectedUIElement != null)
|
||||||
|
{
|
||||||
|
var elementBounds = GetUIElementBounds(selectedUIElement);
|
||||||
|
var clickPoint = e.GetPosition(inkCanvas);
|
||||||
|
clickedOnSelectedElement = elementBounds.Contains(clickPoint);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!clickedOnSelectedElement)
|
||||||
|
{
|
||||||
|
DeselectUIElement();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 手写笔输入
|
// 手写笔输入
|
||||||
|
|||||||
@@ -2086,6 +2086,10 @@ namespace Ink_Canvas {
|
|||||||
InkCanvas.SetTop(image, 0);
|
InkCanvas.SetTop(image, 0);
|
||||||
inkCanvas.Children.Add(image);
|
inkCanvas.Children.Add(image);
|
||||||
|
|
||||||
|
// 添加鼠标事件处理,使图片可以被选择
|
||||||
|
image.MouseDown += UIElement_MouseDown;
|
||||||
|
image.IsManipulationEnabled = true;
|
||||||
|
|
||||||
timeMachine.CommitElementInsertHistory(image);
|
timeMachine.CommitElementInsertHistory(image);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -470,7 +470,7 @@ namespace Ink_Canvas {
|
|||||||
|
|
||||||
// 图片工具栏相关
|
// 图片工具栏相关
|
||||||
private Border borderImageSelectionControl;
|
private Border borderImageSelectionControl;
|
||||||
private double BorderImageSelectionControlWidth = 200.0;
|
private double BorderImageSelectionControlWidth = 150.0; // 3个按钮 + 分隔线的实际宽度
|
||||||
private double BorderImageSelectionControlHeight = 80.0;
|
private double BorderImageSelectionControlHeight = 80.0;
|
||||||
|
|
||||||
private enum ResizeDirection
|
private enum ResizeDirection
|
||||||
@@ -597,16 +597,14 @@ namespace Ink_Canvas {
|
|||||||
InitializeUIElementSelection();
|
InitializeUIElementSelection();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据元素类型显示不同的工具栏
|
// 显示拖拽手柄(所有UI元素都需要)
|
||||||
|
ShowResizeHandles();
|
||||||
|
|
||||||
|
// 根据元素类型显示特定的工具栏
|
||||||
if (element is Image)
|
if (element is Image)
|
||||||
{
|
{
|
||||||
ShowImageToolbar();
|
ShowImageToolbar();
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
// 对于其他UI元素,显示拖拽手柄
|
|
||||||
ShowResizeHandles();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user