Silverlight拖动,需要Canvas。

Canvas管网定义:

定义一个区域,在该区域中可以使用相对于该区域的坐标显式定位子元素。

<Canvas   ...>
  oneOrMoreUIElements
</Canvas>
-or-
<Canvas   .../>
 

描述

oneOrMoreUIElements

Children 集合的成员。

 

Canvas作用:

Source 属性。

Canvas 对象元素的内部 XML 的对象元素。

Canvas 子对象的集合。

Canvas 元素。

Canvas 即不可见:

  • Height 属性等于 0。

  • Width 属性等于 0。

  • null。

  • Opacity 属性等于 0。

  • Collapsed。

  • Canvas 的某个上级对象不可见。

Canvas 是一个典型的根元素,所以通常是具有键事件处理的公共对象。

学习实现一个拖动对象效果:

我们在xaml文件中的根元素放置一个Canvas,在Canvas的子元素中放置一个Rectangle

Canvas中鼠标获取元素并拖动技术

要想实现拖动,我们需要做的事情有:

  • 1,当鼠标在该对象上边按下时,获取到该元素,并标记鼠标已经按下;
  • 2,当已经标记为按下,且还未释放鼠标之前,有任何拖动我们都要把选中的对象的位置坐变动;
  • 3,当鼠标释放,当鼠标释放的时候,我们需要把标记鼠标已按下的标记取消,同时释放鼠标。

从上边的分析知道,我们需要一些赋值的标记,和鼠标位置跟踪标记元素

Canvas中鼠标获取元素并拖动技术

鼠标按下事件:

Canvas中鼠标获取元素并拖动技术

鼠标移动事件:

Canvas中鼠标获取元素并拖动技术

鼠标释放事件:

Canvas中鼠标获取元素并拖动技术

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-08
  • 2022-12-23
猜你喜欢
  • 2022-01-17
  • 2022-01-07
  • 2022-12-23
  • 2021-05-17
  • 2021-10-21
  • 2021-12-11
  • 2022-12-23
相关资源
相似解决方案