C# 捕获动态加载控件的事件
假设我有一个容器,某个方法将向该容器添加多个子容器,我希望能够在双击事件时知道哪个子容器正在被双击,并获取对它的引用。我没有访问控件的权限,它们只是在加载后存在于容器子集合中。最简单的解决方案可能是在适当的事件处理程序中调用C# 捕获动态加载控件的事件,c#,wpf,events,C#,Wpf,Events,假设我有一个容器,某个方法将向该容器添加多个子容器,我希望能够在双击事件时知道哪个子容器正在被双击,并获取对它的引用。我没有访问控件的权限,它们只是在加载后存在于容器子集合中。最简单的解决方案可能是在适当的事件处理程序中调用inputtest。当然,您必须实现双击,因为WPF面板中没有这样的东西 private void Container_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { var container
inputtest
。当然,您必须实现双击,因为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);
}
最简单的解决方案可能是在适当的事件处理程序中调用
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);
}
抱歉,可能是我的问题不清楚,我在设计时没有控件,控件在创建和加载之后仍在工作,控件是您动态创建的控件。MouseMoveHandler将用于所有动态创建的控件。请参见编辑的问题,我明白你的意思,这就是我对其他类型的控件所做的,它们是在控件变量上启动的,然后添加到集合中,但我现在搜索的那些控件不会经过控件变量,它们刚刚被注入到我的容器集合中,我希望能够像对待变量控件一样对待它们抱歉,可能我的问题不清楚,我在设计时没有控件,控件在创建和加载之后仍然有效,控件是动态创建的控件。MouseMoveHandler将用于所有动态创建的控件。请参见编辑的问题,我明白你的意思,这就是我对其他类型的控件所做的,它们是在控件变量上启动的,然后添加到集合中,但我现在搜索的那些控件不会经过控件变量,它们刚刚被注入到我的容器集合中,我希望能够像对待通过变量控件的对象一样对待它们