鼠标可以穿过InkCanvas吗?

时间:2015-01-27 18:53:09

标签: c# wpf inkcanvas

我在InkCanvas下面有一个文本块。 (文本块不是InkCanvas的子代)。

使用内联元素创建文本块,这些元素附加了以下事件:

  run.MouseEnter += inline_MouseEnter;
  run.MouseLeave += inline_MouseLeave;
  run.MouseDown += inline_MouseDown;

问题是InkCanvas在到达InLine元素之前会吃掉鼠标/笔事件(作为笔画)。

不使用HitTesting,是否有一种很好的方法可以通过文本块的内联来查看和管理鼠标/笔事件?

感谢您考虑此问题。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,文本框完全由画布覆盖,你希望画布仍然可以处理鼠标事件,这样你仍然可以在画布上画画(这就是为什么你不能这样做了使用IsHitTestVisible=False)但也要传递到文本框。如果这是真的,最简单的方法是将文本框事件处理程序订阅到画布事件,即:

canvas.MouseEnter += inline_MouseEnter;

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