Silverlight中的UserControl继承问题

时间:2011-03-30 06:48:22

标签: silverlight

如果我在基本UserControl类中定义任何事件处理程序并尝试创建派生类的实例,我会得到类似的异常:

无法分配给属性'System.Windows.Controls.Primitives.ButtonBase.Click'。 [线:32位置:54]

3 个答案:

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