WPF经常使用控件样式Style ( 控件样式设计灵感来源Element开源组件库, 本文控件实现均为自制不依赖任何控件库 )

重绘控件样式包含( ScrollViewer TextBox PasswordBox Button RadioButton CheckBox ToggleButton ProgressBar TabControl Loading Waiting 饼图 渐变图标 消息通知 )学习

控件样式一览:字体

 

ScrollViewer 继承样式,使用方法跟原生一致,就不过多阐述。动画

 

TextBox,PasswordBox 继承样式,Tag属性为提示文字。3d

 

 RadioButton,CheckBox 继承样式,Content为后置文字,这里会默认改变Foreground,因为Content为object类型,能够自行添加控件。orm

 

 

ToggleButton 继承样式,根据IsChecked属性进行开关操做。blog

 

 

ProgressBar(柱状) 用户控件,控件中包含ProgressBar控件并继承样式,使用时须要改变其Value属性,默认0-100。继承

 

 

TabControl,TabItem 继承样式,注:默认切换TabItem不会带有渐变效果,须要在Content中添加事件触发器( Loaded )实现Opacity渐变。事件

 

 

Loading,Waiting 用户控件,根据Foreground来实现颜色。ci

 

 

Button 继承样式,注:本文有个可等待的Button,根据设置IsEnabled来标识等待状态。源码

 

 

饼图 用户控件,根据Path来绘制扇形,动画效果也是根据动画化ArcSegment的Point属性来实现,位置也是根据不一样类型的结束坐标来进行RotateTransform角度偏移,默认实现了三类数据,若有须要可自行修改。

 

 

ProgressBar(圆形) 用户控件,须要改变其DataContext属性,默认0-100,住:本控件使用了转换器更改默认值时须要注意。

 

 

渐变图标(TextBlock) 继承样式,控件的FontFamily属性要继承图标字体库,Text默认( &#图标编号x; )。

 

 

消息通知 用户控件,实现须要配合后台代码但实现很简单,就不过多阐述。

 

 

项目默认使用苹方字体,图标使用的是Element源码中的字体库。

 

本文若有实现很差的地方,请及时指点出来,毕竟学习仍是主要的。

 

源码地址:

连接:https://pan.baidu.com/s/1-xuzj9bvp3fZ8OPiJiH7yA 提取码:1111 复制这段内容后打开百度网盘手机App,操做更方便哦--来自百度网盘超级会员V4的分享

相关文章
相关标签/搜索