有没有办法在页面或用户控件级别捕获MouseLeftButtonDown(或其他鼠标事件),然后能够确定实际点击了哪个子控件?
答案 0 :(得分:2)
是。在页面或其他UI根目录上设置处理程序,然后使用以下方法确定在该处理程序中单击的内容。
List<UIElement> hits = System.Windows.Media.VisualTreeHelper.FindElementsInHostCoordinates(args.GetPosition(null), startFromControl);
请注意,控件有一些要求“命中”。一个常见原因是没有定义背景。控件也可以使用UIElement.IsHitTestVisible属性关闭命中测试。