搜索
您的当前位置:首页正文

WPF自定义控件与样式(6)-ScrollViewer与ListBox自定义样式

来源:小奈知识网
WPF⾃定义控件与样式(6)-ScrollViewer与ListBox⾃定义样式

⼀.前⾔

  申明:WPF⾃定义控件与样式是⼀个系列⽂章,前后是有些关联的,但⼤多是按照由简到繁的顺序逐步发布的等,若有不明⽩的地⽅可以参考本系列前⾯的⽂章,⽂末附有部分⽂章链接。

本⽂主要内容:

ScrollViewer的样式拆解及基本样式定义;ListBox集合控件的样式定义;

⼆.ScrollViewer⾃定义样式

ScrollViewer在各种列表、集合控件中⼴泛使⽤的基础组建,先看看效果图:

  如上图,ScrollViewer简单来说分两部分,⼀个横向的滚动条,⼀个垂直滚动条,两个样式、模板、功能都基本⼀样,他们都是ScrollBar。以垂直滚动条为例,分解⼀下,分解图:

1:向上滑动的按钮,⽤RepeatButton实现功能;

2:上部分滑块,功能同1,也是⼀个RepeatButton来实现的;3:中间可拖动滑块,⽤⼀个Thumb来实现;

4:下部分滑块,和5功能⼀样,向下滑动,⽤⼀个RepeatButton来实现;5:向下滑动的按钮,⽤RepeatButton实现功能;

  上⾯实现的是⼀个标准的垂直滑动条ScrollBar组成,实际可⽤根据需求定制,实现不同效果的滑动效果。以上各部分的样式代码:

12

View Code

  最后ScrollViewer的样式如下,其实就是两个 ScrollBar组成:

使⽤很简单,如果想通⽤,把上⾯定义的ScrollViewer设置为默认样式即可:

三.ListBox样式定义

ListBox是最基础、常⽤的集合控件,效果:

ListBox的样式⽐较简单,包括两部分:ListBoxItem项的样式;ListBox的样式;完整代码:

ListBox默认是⽀持虚拟化的,当加载⼤数据时需要开启虚拟化,或者定义⼀个虚拟化的样式:

上⾯演⽰效果的代码⽰例:

其他 2222333333333333333 2222333333333333333 2222333333333333333 2222333333333333333 2222333333333333333 2222333333333333333 2222333333333333333 2222333333333333333

111

其他

另外提供⼀个⽐较常⽤的需求,ListBox单选RadioButton效果样式,如上图右边的那个ListBox效果:

附录:参考引⽤

个⼈能⼒有限,本⽂内容仅供学习、探讨,欢迎指正、交流。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top