闲暇看"凤凰卫视"《有报天天读》,《一虎一席谈》节目时,留意到中间主持人经常拿着个笔或手在平板电脑上将页面划来划去,并不时在上面圈圈点点,让观众感觉相当时尚、并富含科技含量。在Silverlight中运用InkPresenter墨迹控件很容易实现这样的效果,今天通过一个实例山寨一把,来个《有博天天读》先来个图:
DEMO演示地址: http://xingjunli.webs.com/InkPresenter.html
1、新建一个Silverlight项目"InkPresenter",在MainPage.xaml页面中加入控件如:
2、在MainPage.cs文件中引用命名空间:
3、在CS文件中为MyInk注册一些事件:
4、为了设置画刷样式和实现墨迹擦除功能定义三个全局变量:
5、在MouseleftbuttonDown事件中实例化inkstroke线条样式并将stroke添加至MyInk strokes属性中如:
6、在MouseMove事件中捕获鼠标轨迹绘制墨迹如:
7、在鼠标松开事件MouseleftbuttonUp中设置inkstroke = null,以停止墨迹捕获绘制如:
8、要实现墨迹擦除我们需要在MouseleftbuttonDown事件中设置isMouseCaptured=true并设置erasePoints坐标信息
9、擦除墨迹时通过isMouseCaptured判断是否进行墨迹擦除并改写MouseMove事件如:
10、清空墨迹就很简单了如:
完整XAML页面代码:
完整后台代码:
结束语:本示例中“Ubutton”和“colorHelper”是工具条上自定义模版按钮控件和统一进行颜色管理的帮助类,代码并不在本示例中,如需源码请留下您的脚印。本示例希望在您使用InkPresenter控件的过程中有所帮助!
总结以上是内存溢出为你收集整理的《有博天天读》Silverlight中InkPresenter控件综合应用实例全部内容,希望文章能够帮你解决《有博天天读》Silverlight中InkPresenter控件综合应用实例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)