VS下WPF⾃定义控件的基本步骤和基本代码实现⼀、⾃定义控件的基本步骤:
(本⽰例项⽬名称为:W;添加的⾃定义控件名称为)
1、 在“解决⽅案资源管理器”窗⼝的项⽬名上: 右击à添加à新建项(Ctrl+Shift+A)
2、则会弹出如下窗⼝,在该窗⼝中选择“⾃定义控件(WPF)”并修改类“名称”,点击“添加”
3、添加成功后则会在该项⽬中⽣成CustomControl4.cs⽂件和Themes⽂件夹下的Generic.xaml⽂件(若已存在,则不会重新⽣成,只会在该⽂件中⽣成相应的XAML标记),
4、WPF架构内部已经将CustomControl4.cs⽂件和Generic.xaml⽂件进⾏了关联,在CustomControl4.cs⽂件的CustomControl4类(该类的可以继承⾃任意⼀个⽗类并继承其⽗类的属性)中进⾏属性设置和逻辑实现,在Generic.xaml⽂件中进⾏控件的Style和Template的设计
神奇养生5、在使⽤该控件时需在APP.xaml中导⼊Generic.xaml⽂件
6、到此步已经可以在本项⽬中使⽤该控件了
⼆、⾃定义属性的基本实现:
1、如图,本例中将CustomControl4类的⽗类修改为了Button类,并添加了DirectionBackgroundL和DirectionBackgroundR两个属性,这两个属性分别⽤来控制Generic.xaml中style中ControlTemplate⾥的两个Rectangle的Fill属性
① 注册该属性(以DirectionBackgroundL为例):国家春节法定假日几天
publicstaticreadonly DependencyProperty DirectionBackgroundLProperty =
江东子弟DependencyProperty.Register("DirectionBackgroundL",
typeof(Brush),typeof(CustomControl4),new PropertyMetadata((Brush)m_fwkElement.TryFindResource("@Blue")));
该函数档案分类的八大类
第⼀个参数是注册的依赖项属性的名称
第⼆个是注册的依赖项属性的类型
第三个是⽰该依赖项属性的所有者的类型
第四个是该依赖项属性的元数据,即为默认数据
熊童子怎么养
② 在类中声明该属性,并实现其get,t:
public Brush DirectionBackgroundL
{
作文两百字get { return (Brush)GetValue(DirectionBackgroundLProperty); }
t { SetValue(DirectionBackgroundLProperty,value); }
黄龙海拔
}
其中①②书写不分先后顺序
2、 在Generic.xaml⽂件中,在添加⾃定义控件时系统已经⾃动为新添加的控件添加了Style模板
可在该模板的基础上继续⾃定义你⾃⼰想要的控件
虞华轩
图中红⾊框内就是要绑定的属性,属性绑定完成即可在界⾯设计时使⽤该控件。
本⽂主要针对基础知识,如有不⾜之处望不吝赐教,谢谢!