闲暇看"凤凰卫视"《有报天天读》,《一虎一席谈》节目时,留意到中间主持人经常拿着个笔或手在平板电脑上将页面划来划去,并不时在上面圈圈点点,让观众感觉相当时尚、并富含科技含量。在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、清空墨迹就很简单了如:
结束语:本示例中“UButton”和“ColorHelper”是工具条上自定义模版按钮控件和统一进行颜色管理的帮助类,代码并不在本示例中,如需源码请留下您的脚印。本示例希望在您使用InkPresenter控件的过程中有所帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。