单击动态添加的UserControls
本文关键字:UserControls 添加 动态 单击 | 更新日期: 2023-09-27 18:05:30
多年来我一直是一个顽固的WinForms保护主义者,但我改变了主意,并尝试与WPF取得联系。到目前为止我还挺喜欢的。
我的问题:
我已经创建了一个UserControl "SelectableRectangle",它包含一个矩形。在我的一个应用程序中,我以编程/动态的方式创建了数百个。
并且我希望能够"点击"它们并使用不同的工具,例如更改颜色。因此,我需要知道在主窗口中我点击了哪个SelectableRectangle。
任何想法?
基本上,如果您的usercontrol实现了一个事件处理程序,您可以像这样将事件处理程序链接到事件:
mycontrol1.Click += new RoutedEventHandler(mycontrol_Click);
然后实现方法
private void mycontrol(object sender, RoutedEventArgs e)
{
// do things here
}
此外,如果你的usercontrol是从UIElement, UIElement3D或ContentElement派生的,你可以使用AddHandler方法:
mycontrol1.AddHandler(Button.ClickEvent, new RoutedEventHandler(mycontrol_Click))