用户控件(User Control)和自定义控件(Custom Control)的区别:
UserControl:
将多个WPF控件(例如:TextBox,TextBlock,Button)进行组合成一个可复用的控件组;
由XAML和Code Behind代码组成;
不支持样式/模板重写;
CustomControl
自定义控件,扩展自一个已经存在的控件,并添加新的功能/特性;
由C#/VB.NET Code和样式文件组成(Themes/Generic.xaml);
支持样式/模板重写;
如果项目中自定义控件较多,建议创建一个WPF自定义控件库(WPF Control Library)
在自定义控件中,如果想要对控件做一些如按钮点击事件的设置,需要在类中获取控件对象。xaml具体如下图所示
cs类中需要override OnApplyTemplate方法: