捕获动态加载控件的事件

本文关键字:事件 控件 加载 动态 | 更新日期: 2023-09-27 18:26:55

假设我有一个容器,有些方法会向这个容器添加多个子项,我希望能够在双击事件时知道哪个被双击并获得对它的引用。我没有访问这些控件的权限,它们只是在加载后存在于容器children Collection中。

捕获动态加载控件的事件

最简单的解决方案可能是在适当的事件处理程序中调用InputHitTest。当然,您必须实现双击,因为在WPF面板中没有这样的东西。

private void Container_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    var container = (UIElement)sender;
    var hitElement = container.InputHitTest(e.GetPosition(container));
    Trace.TraceInformation("Hit Element: {0}", hitElement);
}