WPF如何让UserControl继承Button?

Sai*_*udo 12 wpf user-controls button

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

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

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

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

max*_*xnk 12

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

当你写<UserControl ...></UserControl>在XAML,你继承用户控件.如果要子类化Button,请<Button ...></Button>在代码隐藏文件中使用而不是":Button".

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

  • MouseLeftButtonUp事件依赖于始终被鼠标单击的按钮.当用户按空格键时,会触发Click事件,但不会触发MouseLeftButtonUp(空格键不是鼠标左键). (2认同)