鼠标可以穿过 InkCanvas 吗?
Can a mouse tunnel through an InkCanvas?
我在 InkCanvas 下方有一个文本块。 (文本块不是 InkCanvas 的子项)。
文本块是使用具有附加事件的内联元素创建的,例如:
run.MouseEnter += inline_MouseEnter;
run.MouseLeave += inline_MouseLeave;
run.MouseDown += inline_MouseDown;
问题是 InkCanvas 在 mouse/pen 事件(作为笔画)到达 InLine 元素之前吃掉了它们。
在不使用 HitTesting 的情况下,是否有一种好方法可以让 mouse/pen 事件通过文本块的内联来查看和管理?
感谢您考虑这个问题。
如果我没理解错的话,文本框被 canvas 完全覆盖了,您希望鼠标事件仍然由 canvas 处理,这样您仍然可以在上面绘图(这就是为什么你不能使用 IsHitTestVisible=False
) 但也被传递到文本框。如果这是真的,那么最简单的事情就是将您的文本框事件处理程序订阅到 canvas 事件,即:
canvas.MouseEnter += inline_MouseEnter;
记住发件人不会是文本框,显然...
我在 InkCanvas 下方有一个文本块。 (文本块不是 InkCanvas 的子项)。
文本块是使用具有附加事件的内联元素创建的,例如:
run.MouseEnter += inline_MouseEnter;
run.MouseLeave += inline_MouseLeave;
run.MouseDown += inline_MouseDown;
问题是 InkCanvas 在 mouse/pen 事件(作为笔画)到达 InLine 元素之前吃掉了它们。
在不使用 HitTesting 的情况下,是否有一种好方法可以让 mouse/pen 事件通过文本块的内联来查看和管理?
感谢您考虑这个问题。
如果我没理解错的话,文本框被 canvas 完全覆盖了,您希望鼠标事件仍然由 canvas 处理,这样您仍然可以在上面绘图(这就是为什么你不能使用 IsHitTestVisible=False
) 但也被传递到文本框。如果这是真的,那么最简单的事情就是将您的文本框事件处理程序订阅到 canvas 事件,即:
canvas.MouseEnter += inline_MouseEnter;
记住发件人不会是文本框,显然...