WPF自定义控件记录
最近公司使用WPF进行项目开发,之前一直听说,但没有真正接触过
真正开始使用WPF的时候,那个感觉真是:慢!麻烦!不懂!
但是老板说,如果我们真正了解了WPF,那么就会发现WPF真正是很灵活的,很好使用
一直到现在我都感觉使用WPF还不是很顺手,可能是之前一直使用WEB ,WINFORM的原因吧
基于,之前的WEB开发过程中,总是需要DATAGRID实现一些功能,而我之前每次都是在程序中进行拼凑以实现我想要的效果,但最近一段时间我发现自定义控件要好上太多
,而最近公司的WPF项目,也要求每个控件都用我们自己的控件,比如那些数据值需要控件实现如何的效果等,都需要自定义控件(这里穿插一下:虽然有用户控件,但是个人认为,用户控件还是在紧急情况下临时使用一下,比较用户控件比之自定义控件在灵活性上差上太多,个人意见),所以最近一段时间花了不少时间来研究WPF自定义控件
先来说说开发流程:
1.新建一个WPF自定义控件库项目
2.会发现项目中自动生成了两个文件:CUSTOMCLASS1;Themes/Generic.xaml两个文件,一个用于写控件的类,一个是控件自动继承的UI样式
//控件类中通过这句话来将继承控件的原始控件的样式覆盖
static CaTextBox()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(CaTextBox), new FrameworkPropertyMetadata(typeof(CaTextBox)));
}