WPF如何让UserControl继承Button?

时间:2008-12-13 06:34:54

标签: wpf button user-controls

我创建了一个UserControl,它由一对椭圆和标签组成。我把它添加到另一种形式就好了,看起来很漂亮。

然后我开始添加一些事件处理程序,并发现我所做的控件没有公开Click事件。哎呀。容易修复,对吧?回到我制作的UserControl上的代码隐藏,让它继承Button。

不幸的是,这样做会导致“MyControl的部分声明不能指定不同的基类”消息。这是一个惊喜,因为我没有声明任何其他基类。搜索有问题的部分也没有返回任何结果。

有没有办法打败这个问题?如果没有,这里最简单的解决方法是什么?我的目标只是在UserControl上获得Click事件。

1 个答案:

答案 0 :(得分:12)

是的,你已经声明了其他基类:)只需信任编译器:)

当您在XAML中编写<UserControl ...></UserControl>时,您正在继承UserControl。如果要将Button子类化,请在代码隐藏文件中使用<Button ...></Button>代替“:”按钮。

但是我强烈建议你不要将Button作为子类,这对你的任务来说太过分了。您可以使用MouseLeftButtonUp事件而不是Click事件。