多年来我一直是一个顽固的WinForms保护主义者,但我改变了主意并尝试与WPF取得联系。我到目前为止都喜欢它。
我的问题:
我创建了一个UserControl" SelectableRectangle"其中包含一个Rectangle。好吧 - 在我的一个应用程序中,我以编程方式/动态创建了数百个。
我希望能够点击"在他们身上并使用不同的工具,例如改变颜色。因此,我需要在主窗口中知道我单击了哪个SelectableRectangle。
有什么想法吗?
答案 0 :(得分:0)
基本上,如果你的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))