鼠标可以穿过 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;

记住发件人不会是文本框,显然...