fix:issue #213
This commit is contained in:
@@ -192,6 +192,8 @@ namespace Ink_Canvas
|
|||||||
elementForEvents.MouseWheel += Element_MouseWheel;
|
elementForEvents.MouseWheel += Element_MouseWheel;
|
||||||
|
|
||||||
// 触摸事件
|
// 触摸事件
|
||||||
|
elementForEvents.TouchDown += Element_TouchDown;
|
||||||
|
elementForEvents.TouchUp += Element_TouchUp;
|
||||||
elementForEvents.IsManipulationEnabled = true;
|
elementForEvents.IsManipulationEnabled = true;
|
||||||
elementForEvents.ManipulationDelta += Element_ManipulationDelta;
|
elementForEvents.ManipulationDelta += Element_ManipulationDelta;
|
||||||
elementForEvents.ManipulationCompleted += Element_ManipulationCompleted;
|
elementForEvents.ManipulationCompleted += Element_ManipulationCompleted;
|
||||||
|
|||||||
@@ -152,6 +152,19 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 触摸释放事件
|
||||||
|
private void Element_TouchUp(object sender, TouchEventArgs e)
|
||||||
|
{
|
||||||
|
if (sender is FrameworkElement element)
|
||||||
|
{
|
||||||
|
isDragging = false;
|
||||||
|
element.ReleaseTouchCapture(e.TouchDevice);
|
||||||
|
element.Cursor = Cursors.Hand;
|
||||||
|
|
||||||
|
e.Handled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 鼠标移动事件
|
// 鼠标移动事件
|
||||||
private void Element_MouseMove(object sender, MouseEventArgs e)
|
private void Element_MouseMove(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
@@ -205,6 +218,34 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 触摸按下事件
|
||||||
|
private void Element_TouchDown(object sender, TouchEventArgs e)
|
||||||
|
{
|
||||||
|
if (sender is FrameworkElement element)
|
||||||
|
{
|
||||||
|
// 取消之前选中的元素
|
||||||
|
if (currentSelectedElement != null && currentSelectedElement != element)
|
||||||
|
{
|
||||||
|
// 保存当前编辑模式
|
||||||
|
var previousEditingMode = inkCanvas.EditingMode;
|
||||||
|
UnselectElement(currentSelectedElement);
|
||||||
|
// 恢复编辑模式
|
||||||
|
inkCanvas.EditingMode = previousEditingMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 选中当前元素
|
||||||
|
SelectElement(element);
|
||||||
|
|
||||||
|
// 开始拖动
|
||||||
|
isDragging = true;
|
||||||
|
dragStartPoint = e.GetTouchPoint(inkCanvas).Position;
|
||||||
|
element.CaptureTouch(e.TouchDevice);
|
||||||
|
element.Cursor = Cursors.SizeAll;
|
||||||
|
|
||||||
|
e.Handled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 触摸操作事件
|
// 触摸操作事件
|
||||||
private void Element_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
|
private void Element_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3316,6 +3316,8 @@ namespace Ink_Canvas
|
|||||||
elementForEvents.MouseWheel += Element_MouseWheel;
|
elementForEvents.MouseWheel += Element_MouseWheel;
|
||||||
|
|
||||||
// 触摸事件
|
// 触摸事件
|
||||||
|
elementForEvents.TouchDown += Element_TouchDown;
|
||||||
|
elementForEvents.TouchUp += Element_TouchUp;
|
||||||
elementForEvents.IsManipulationEnabled = true;
|
elementForEvents.IsManipulationEnabled = true;
|
||||||
elementForEvents.ManipulationDelta += Element_ManipulationDelta;
|
elementForEvents.ManipulationDelta += Element_ManipulationDelta;
|
||||||
elementForEvents.ManipulationCompleted += Element_ManipulationCompleted;
|
elementForEvents.ManipulationCompleted += Element_ManipulationCompleted;
|
||||||
@@ -3387,6 +3389,8 @@ namespace Ink_Canvas
|
|||||||
elementForEvents.MouseWheel += Element_MouseWheel;
|
elementForEvents.MouseWheel += Element_MouseWheel;
|
||||||
|
|
||||||
// 触摸事件
|
// 触摸事件
|
||||||
|
elementForEvents.TouchDown += Element_TouchDown;
|
||||||
|
elementForEvents.TouchUp += Element_TouchUp;
|
||||||
elementForEvents.IsManipulationEnabled = true;
|
elementForEvents.IsManipulationEnabled = true;
|
||||||
elementForEvents.ManipulationDelta += Element_ManipulationDelta;
|
elementForEvents.ManipulationDelta += Element_ManipulationDelta;
|
||||||
elementForEvents.ManipulationCompleted += Element_ManipulationCompleted;
|
elementForEvents.ManipulationCompleted += Element_ManipulationCompleted;
|
||||||
@@ -3458,6 +3462,8 @@ namespace Ink_Canvas
|
|||||||
elementForEvents.MouseWheel += Element_MouseWheel;
|
elementForEvents.MouseWheel += Element_MouseWheel;
|
||||||
|
|
||||||
// 触摸事件
|
// 触摸事件
|
||||||
|
elementForEvents.TouchDown += Element_TouchDown;
|
||||||
|
elementForEvents.TouchUp += Element_TouchUp;
|
||||||
elementForEvents.IsManipulationEnabled = true;
|
elementForEvents.IsManipulationEnabled = true;
|
||||||
elementForEvents.ManipulationDelta += Element_ManipulationDelta;
|
elementForEvents.ManipulationDelta += Element_ManipulationDelta;
|
||||||
elementForEvents.ManipulationCompleted += Element_ManipulationCompleted;
|
elementForEvents.ManipulationCompleted += Element_ManipulationCompleted;
|
||||||
|
|||||||
@@ -404,6 +404,8 @@ namespace Ink_Canvas
|
|||||||
image.MouseWheel += Element_MouseWheel;
|
image.MouseWheel += Element_MouseWheel;
|
||||||
|
|
||||||
// 触摸事件
|
// 触摸事件
|
||||||
|
image.TouchDown += Element_TouchDown;
|
||||||
|
image.TouchUp += Element_TouchUp;
|
||||||
image.IsManipulationEnabled = true;
|
image.IsManipulationEnabled = true;
|
||||||
image.ManipulationDelta += Element_ManipulationDelta;
|
image.ManipulationDelta += Element_ManipulationDelta;
|
||||||
image.ManipulationCompleted += Element_ManipulationCompleted;
|
image.ManipulationCompleted += Element_ManipulationCompleted;
|
||||||
|
|||||||
Reference in New Issue
Block a user