2011-03-30 97 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); 
}