《有博天天读》Silverlight中InkPresenter控件综合应用实例

14 篇文章 0 订阅
13 篇文章 0 订阅

     闲暇看"凤凰卫视"《有报天天读》,《一虎一席谈》节目时,留意到中间主持人经常拿着个笔或手在平板电脑上将页面划来划去,并不时在上面圈圈点点,让观众感觉相当时尚、并富含科技含量。在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控件的过程中有所帮助!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值