2016-09-04 115 views
0

多年來,我是一個頑固的WinForms保護者,但我改變了主意並嘗試與WPF取得聯繫。我喜歡它,到目前爲止。點擊動態添加UserControls


我的問題:

我創建了一個用戶控件 「SelectableRectangle」,其中包含一個矩形。那麼 - 在我的一個應用程序中,我通過編程/動態創建了數百個應用程序。

我希望能夠「點擊」它們並使用不同的工具,例如更改顏色。因此我需要在我的主窗口中知道我點擊了哪個精確的SelectableRectangle。

任何想法?

+1

如果你真的想進入WPF,你應該首先了解MVVM,並在你的案例DataTemplates。那麼這個問題將會過時 – lokusking

+0

關於這個話題你可以推薦的任何好的信息? –

回答

0

基本上,如果你的用戶控件實現的事件處理程序,你可以在事件處理程序一樣鏈接到一個事件:

mycontrol1.Click += new RoutedEventHandler(mycontrol_Click); 

,然後實現方法

private void mycontrol(object sender, RoutedEventArgs e) 
    { 
     // do things here 
    } 

此外,如果你的用戶控件源自UIElement,UIElement3D或ContentElement,您可以使用AddHandler方法:

mycontrol1.AddHandler(Button.ClickEvent, new RoutedEventHandler(mycontrol_Click)) 
相關問題