Silverlight页面上的单击处理程序

时间:2009-02-17 14:02:38

标签: silverlight mouse click

有没有办法在页面或用户控件级别捕获MouseLeftButtonDown(或其他鼠标事件),然后能够确定实际点击了哪个子控件?

1 个答案:

答案 0 :(得分:2)

是。在页面或其他UI根目录上设置处理程序,然后使用以下方法确定在该处理程序中单击的内容。

List<UIElement> hits = System.Windows.Media.VisualTreeHelper.FindElementsInHostCoordinates(args.GetPosition(null), startFromControl);

请注意,控件有一些要求“命中”。一个常见原因是没有定义背景。控件也可以使用UIElement.IsHitTestVisible属性关闭命中测试。