2011-03-30 92 views
2

如果我定義的基礎控件類的任何事件處理程序,並嘗試創建派生類的實例,我得到類似的例外:用戶控件繼承問題

無法分配財產「System.Windows.Controls .Primitives.ButtonBase.Click」。 [Line:32 Position:54]

回答

4

如果你想用xaml派生一個UserControl,你必須在後面的代碼中訂閱所有的事件,否則當解析xaml時,silverlight將嘗試在子類實例上找到事件處理程序並失敗,因此你的錯誤描述。

2

您可以在後面的代碼中附加處理程序。

2

可以使所有受保護你的用戶控件的事件處理程序,然後在派生類中重寫它們:

new protected void MyButton_Click(object sender, RoutedEventArgs e) 
{ 
    base.MyButton_Click(sender, e); 
}