我在InkCanvas下面有一个文本块。 (文本块不是InkCanvas的子代)。
使用内联元素创建文本块,这些元素附加了以下事件:
run.MouseEnter += inline_MouseEnter;
run.MouseLeave += inline_MouseLeave;
run.MouseDown += inline_MouseDown;
问题是InkCanvas在到达InLine元素之前会吃掉鼠标/笔事件(作为笔画)。
不使用HitTesting,是否有一种很好的方法可以通过文本块的内联来查看和管理鼠标/笔事件?
感谢您考虑此问题。
答案 0 :(得分:1)
如果我理解正确,文本框完全由画布覆盖,你希望画布仍然可以处理鼠标事件,这样你仍然可以在画布上画画(这就是为什么你不能这样做了使用IsHitTestVisible=False
)但也要传递到文本框。如果这是真的,最简单的方法是将文本框事件处理程序订阅到画布事件,即:
canvas.MouseEnter += inline_MouseEnter;
请记住,发件人不会是文本框,显然......