原文:零元学Expression Blend 4 – Chapter 21 以实作案例学习MouseDragElementBehavior

本章将教大家如何运用Blend 4内建的行为注入元件「MouseDragElementBehavior」--使物件拥有拖拉功能

?

本章将教大家如何运用Blend 4内建的行为注入元件「MouseDragElementBehavior」--使物件有拖拉功能

?

这麽说好了,当A物件被MouseDragElementBehavior寄生以後,A物件就会拥有MouseDragElementBehavior的特性与功能

也可以说是MouseDragElementBehavior给了A物件新的生命

?

以前要作到像范例这样的拖拉效果没有写程式是做不到的

以设计为主的我来说,在还没使用Blend之前要我做到这样的效果,也是不可能的事情...

?

开始我们的拖拉功能吧~

?

01

新增一个专案後,放入物件、图片或照片

或是你想使用小猴子的专案来玩玩看,请下载附件:

?

02

在Asset搜寻MouseDragElementBehavior,把这个Behavior拉到你想使他可以拖拉的物件上

?

话说...其实这样就完成了^_^"

不过小猴子想要多补充一些...

?

另一种做法:

左边的圆只能存在於容器内,而右边的圆可以在Silverlight内随意的拖拉

?

03 试试看怎麽做~

在主要工作区内放入两个Canvas(或其他容器),并且在Canvsa里置入两个Ellipse

并且跟刚刚一样,把MouseDragElementBehavior拉到Ellipse里

?

若想要限制红色圈圈只能在容器内移动,请在点选红圈的MouseDragElementBehavior状态下

在Properties->Common Properties找到Constrain To Parent Bounds,并勾选它

?

按F5试试看,没意外的话应该会跟范例一样喔!

?

04

另外,我发现msdn也有很明确的介绍了MouseDragElementBehavior,所以我直接引用msdn上的一些解释:

1.选取 ConstrainToParentBounds 属性可将元素限制成无法拖曳到超出父版面配置容器所指定的边界之外。

2.MouseDragElementBehavior行为不适用於用来处理 MouseClick事件的任何控制项 (例如, Button、 TextBox和 ListBox控制项)。

? 如果希望能够拖曳前述任一种控制项,请将该控制项变成可供拖曳之控制项 (例如框线) 的子项。

? 接着可以将 MouseDragElementBehavior行为套用至父项元素。

?

?

附上第二个范例的专案:

?

本篇的教学就到此。

?

?

(若有任何错误的地方,请各位前辈或同好能不吝指教,小女子都会虚心接受;若是你喜欢我的教学,请给我点鼓励,谢谢。)

一步一步迈向HIE之路

喜欢我文章请推我一下或给我个回应,你的鼓励会给我无限的动力喔!

若是您有其他问题或是特别需要,请在文章回应处留言,我会尽快回覆您

 

最新文章

  1. mybatis 配置返回集合collection时只有一条记录
  2. shell常用命令
  3. 转载:JProfiler远程监控LINUX上的Tomcat过程细讲
  4. Git从零教你入门(4):Git服务之 gogs部署安装
  5. Web前端性能优化教程08:配置ETag
  6. Egret官方案例学习笔记
  7. eclipse运行maven的jetty插件内存溢出
  8. SQL Server中的连接查询【内连接,左连接,右连接,。。。】
  9. Rdlc报表出现空白页解决方法(转)
  10. 【JavsScript】JavaScript MVC框架PK:Angular、Backbone、CanJS与Ember
  11. 免费开源的android项目分享
  12. CSS3教程:box-sizing属性的理解border、padding与容器宽度的关系
  13. jQuery基础之二
  14. mysql,mybatis模糊查询
  15. [Android]-图片JNI(C++\Java)高斯模糊的实现与比較
  16. idea使用教程(2)
  17. CSS3 渐变效果
  18. React Native之React速学教程(上)
  19. 2、Distributed Optimization
  20. Vim使用技巧(4) -- 命令行模式 【持续更新】

热门文章

  1. [Angular] Some performance tips
  2. Oracle数据库零散知识09 -- DBLink的创建(转)
  3. 【17.69%】【codeforces 659F】Polycarp and Hay
  4. [ACM] POJ 2689 Prime Distance (筛选范围大素数)
  5. INSERT ... ON DUPLICATE KEY UPDATE Syntax 专题
  6. go 工具链目前[不支持编译 windows 下的动态链接库][1],不过[支持静态链接库][2]
  7. 如若已在管理后台更新域名配置,请刷新项目配置后重新编译项目,操作路径:“项目-域名信息” http://www.mysite.com 不在以下 request 合法域名列表中
  8. 得知OpenCV研究报告指出系列(一)VS2010+OpenCV2.4.9环境配置
  9. Python小技巧1
  10. Codeforces 458A Golden System