无法处理PreviewMouseDown
|
嘿;我在用户控件中具有以下视觉层次结构:
网格->画布-> MyContentControl
MyContentControl是从ContentControl派生的类,该类的顶部有一个矩形装饰器,以使单击某些对象(增加命中测试区域)更加容易。装饰器始终存在,但背景透明。
当我从用户控件的代码背后单击MyContentControl时,我希望看到引发PreviewMouseDown事件,但是似乎并没有在该事件上引发该事件,仅在装饰者级别。
该事件在装饰者级别进行处理,但是e.IsHandled未设置为true,因此它应继续冒泡或隧穿。据我了解,PreviewMouseDown是隧道传输,而IIRC应该首先在usercontrol上引发。
我想念什么吗?
谢谢。
没有找到相关结果
已邀请:
1 个回复
撵穆
如您所见,装饰器(
)与自定义控件位于树的不同分支中。这是因为装饰物放置在称为“2ѭ”的特殊元素内。这样的“ 2”通常直接位于顶级元素内部(例如“ 4”或“ 5”)。 因此,考虑到所有这些,应该清楚的是,如果在装饰器中引发一个事件,它将通过以下路径隧穿:“ 6”。 话虽这么说,您无法处理位于不同子树中的两个元素上的鼠标事件(即使它们在另一个子树上放置)。