fix:图片插入
This commit is contained in:
@@ -810,6 +810,29 @@ namespace Ink_Canvas {
|
||||
{
|
||||
// 使用辅助方法设置光标
|
||||
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.Children.Add(image);
|
||||
|
||||
// 添加鼠标事件处理,使图片可以被选择
|
||||
image.MouseDown += UIElement_MouseDown;
|
||||
image.IsManipulationEnabled = true;
|
||||
|
||||
timeMachine.CommitElementInsertHistory(image);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -470,7 +470,7 @@ namespace Ink_Canvas {
|
||||
|
||||
// 图片工具栏相关
|
||||
private Border borderImageSelectionControl;
|
||||
private double BorderImageSelectionControlWidth = 200.0;
|
||||
private double BorderImageSelectionControlWidth = 150.0; // 3个按钮 + 分隔线的实际宽度
|
||||
private double BorderImageSelectionControlHeight = 80.0;
|
||||
|
||||
private enum ResizeDirection
|
||||
@@ -597,16 +597,14 @@ namespace Ink_Canvas {
|
||||
InitializeUIElementSelection();
|
||||
}
|
||||
|
||||
// 根据元素类型显示不同的工具栏
|
||||
// 显示拖拽手柄(所有UI元素都需要)
|
||||
ShowResizeHandles();
|
||||
|
||||
// 根据元素类型显示特定的工具栏
|
||||
if (element is Image)
|
||||
{
|
||||
ShowImageToolbar();
|
||||
}
|
||||
else
|
||||
{
|
||||
// 对于其他UI元素,显示拖拽手柄
|
||||
ShowResizeHandles();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user