最近要用silverlight开发一个小程序.做了一个scrollbar.其实sl自己带了这个控件,但是如果要样式和自己的程序的风格完全一致的话也是有些难度的.索性自己就简单的做了一个.这里记录一下开发的步骤.

效果图:

功能:

  1. 适应浏览器高度.
  2. 在拖动时返回移动的百分数
  3. 可设置滚动按钮的位置

好了明确了要的功能那就正式开始吧~

要和自己程序的样式一致那就先把设计师做的设计放进来.这里我用了两个元素.一个背景条和一个拖动按钮"Bar".

Bar我单独做成了一个控件.没什么代码就是Xaml.

这里要注意一下.在Bar这里控件中我在"UserControl"节点下加入了RenderTransform.并且让光标变成手型.又给RenderTransform下的TranslateTransform起了名字"xTranslateTransform".这样就可以直接对X和Y偏移进行设置.这样子做和对Canvas.LeftProperty Canvas.TopProperty进行设置达到的效果是一样的. 如果不习惯Canvas.LeftProperty Canvas.TopProperty.那就这样来吧.

好了Bar做完了那就可以用Bar来做ScrollBar了. 这里我用的布局是Canvas.默认建立的是Gread.

制作一个高300px的背景条.起名字为"xBg".并把刚才做好的Bar放到上边.使Bar在最上方.

好了到这里界面就做好了.该去实现功能了.

  • 定义onDrag事件.传递出参数为移动的百分数.
  • 定义高度属性
  • 定义移动百分数属性
  • 在初始化时设置高度为300.移动百分数为0.
  • 在设置移动百分数属性的同时对Bar的Y位移也进行设置.
  • 在设置高度属性的同时对xBg的高度进行设置.

下来对Bar做拖动的实现. 其实也就是一个drag.只是对Y属性设置而已.

用xBar.xTranslateTransform.Y=88.就可以了.

这里在Move时触发上边定义的onDrag事件.计算移动百分数并返回.

好了一个简单的scrollbar控件制作完成. ;)

简单的看一下如何使用.

说明一下"panelTranslateTransform.Y" 是目标元素的Y位移.

代码下载:(代码里的内容比较多.我这里只是介绍了scrollbar的制作 ^_^)
http://www.brsbox.com/filebox/down/fc/5a7301255667bfae7928bbbae540e5db
ok  结束

作者:nasa
出处:nasa.cnblogs.com
联系:nasa_wz@hotmail.com
QQ:12446006

转载于:https://www.cnblogs.com/nasa/archive/2008/05/09/1189174.html

Silverlight制作scrollbar.相关推荐

  1. 强悍!使用Flash和Silverlight制作控件

    Silverlight已经发布了正式版本,我也到网站下载了一个并看看,突然发现了他的例子中包含了这个公司. NETiKA TECH. 之所以说他强,是因为他尽然使用Flash和Silverlight制 ...

  2. 用Silverlight制作图片公告栏

          在博客园安家了这么久都没有写过博客,真惭愧.最近研究了一下Silverlight也看了TerryLee的不少文章,自己对开发一个Silverlight控件也有了一点把握了,可是该做一些什么 ...

  3. Silverlight实用窍门系列:28.Silverlight制作随机分布雷达扫描点,模拟雷达扫描图之被扫描设备【附带源码实例】...

    实际项目中,我们模拟一个监控多台电脑的雷达扫描图效果.我们假设发现了很多台设备,这些设备具有CPU使用率这个属性,在雷达扫描的时候,如果CPU的值高于90则报警为红色. 本节实例建立在上一节的基础之上 ...

  4. Silverlight游戏特效开发(一) : 制作人物光环效果

    本系列介绍使用Silverlight制作游戏特效的方法,本文主要介绍人物光环效果. 本方法适用于Silverlight网页程序,WPF应用,Windows Phone Silverlight应用.对于 ...

  5. 分享Silverlight/WPF/Windows Phone一周学习导读(10月1日-10月15日)

    分享Silverlight/WPF/Windows Phone一周学习导读(10月1日-10月15日) 本周Silverlight学习资源更新: [Silverlight入门系列]ListboxIte ...

  6. 分享Silverlight/WPF/Windows Phone一周学习导读(3月14日-3月19日)

    用了近一周的Windows Phone 7,作为长期使用iPhone的用户,刚使用WP7的确让人感觉挺生硬的,其中不乏先入为主的理由. 尽管如此,我还是非常喜欢Windows Phone 7个性界面, ...

  7. Silverlight运行原理经典问答。

    这里建议.喜欢针对 这些东西运行原理和应用程序模型弄清楚的朋友.好好参看WPF的应用程序模型. 所以,我们可以这样来想象一下,Silverlight的架构是一个技术的集合体:一些来自.NET Fram ...

  8. 分享Silverlight/WPF/Windows Phone一周学习导读(12月13日-12月19日)

    每年的十二月,雪和圣诞都是主题.特别是国外的软件公司,大家都沉浸在节日和假期的快乐中.近一周,没有过于让开发人员兴奋的新消息,这期导读就总结一下上周的Silverlight,WPF和Windows P ...

  9. Silverlight/Windows8/WPF/WP7/HTML5周学习导读(8月5日-8月12日)

    Silverlight/Windows8/WPF/WP7/HTML5周学习导读(8月5日-8月12日) 本周Silverlight学习资源更新 Silverlight设计时特性的使用 _eagle S ...

  10. 分享Silverlight/WPF/Windows Phone一周学习导读(06月06日-06月11日)

    Windows 8预览版推出后,Silverlight社区掀起一番新的"Silverlight灭亡"讨论,由于Windows 8预览版中微软重点强调HTML 5和Javascrip ...

最新文章

  1. 10.Ubuntu下的source insight增加使用期限90天
  2. torch.squeeze()和unsqueeze()
  3. UpdatePanel 内的RadioButton 还是会刷新页面
  4. Queue:poll、offer、element、peek
  5. java--面向接口编程
  6. python表格写操作单元格合并
  7. 用AB对Webservice做压力测试
  8. LINUX编译sofia-sip
  9. 蓝鲸ERP标准版-进销存-采购管理子系统操作说明1
  10. 2022-06微软漏洞通告
  11. 基于Fruits-360数据集构建CNN进行水果识别实验
  12. 微信小程序页面跳转时数据传输
  13. Android获取年月日时分秒
  14. 为什么国外程序员的创造力比中国程序员强?
  15. 昨天的双十一你又剁手了吗?
  16. 【Docker】fuse: device not found, try ‘modprobe fuse‘ first
  17. myeclipse下server视图nullpoint问题
  18. 视频会议哪家强?Zoom在内的三大平台之间的较量
  19. 品牌商自述:为什么同样的商品,拼多多会更便宜?
  20. HTML圆和圆角柜形的制作,造型越简单,工艺越复杂--外简内繁的圆角柜

热门文章

  1. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_08-freemarker基础-空值处理
  2. 阶段3 2.Spring_10.Spring中事务控制_6 spring基于XML的声明式事务控制-配置步骤
  3. 锦囊5-斐波那契数列
  4. vSphere虚拟机磁盘热扩容
  5. 【物联网智能网关-16】成功移植SQLite(STM32 .NET MF平台)
  6. EA(Enterprise Architecture,企业架构)
  7. 接外包项目的几点技巧
  8. 使用jdk进行数据迁移(sqlite迁移mysql)
  9. 红帽学习笔记[RHCSA] 第三课[输出重定向、Vi编辑器]
  10. Java知识系统回顾整理01基础01第一个程序05Eclipse中运行Java程序