如果我在基本UserControl类中定义任何事件处理程序并尝试创建派生类的实例,我会得到类似的异常:
无法分配给属性'System.Windows.Controls.Primitives.ButtonBase.Click'。 [线:32位置:54]
答案 0 :(得分:4)
如果您希望使用xaml派生UserControl,则必须在代码后面订阅所有事件,否则在解析xaml时,silverlight将尝试在子类实例上查找事件处理程序并失败,因此您所描述的错误
答案 1 :(得分:2)
您可以在后面的代码中附加处理程序。
答案 2 :(得分:2)
您可以使UserControl中的所有事件处理程序都受到保护,然后在派生类中覆盖它们:
new protected void MyButton_Click(object sender, RoutedEventArgs e)
{
base.MyButton_Click(sender, e);
}