单击动态添加的UserControls

时间:2016-09-04 13:14:01

标签: c# wpf xaml

多年来我一直是一个顽固的WinForms保护主义者,但我改变了主意并尝试与WPF取得联系。我到目前为止都喜欢它。

我的问题:

我创建了一个UserControl" SelectableRectangle"其中包含一个Rectangle。好吧 - 在我的一个应用程序中,我以编程方式/动态创建了数百个。

我希望能够点击"在他们身上并使用不同的工具,例如改变颜色。因此,我需要在主窗口中知道我单击了哪个SelectableRectangle。

有什么想法吗?

1 个答案:

答案 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))