概述 Silverlight 2 Beta 1版本发布了无论从Runtime还是Tools都给我们带来了很多惊喜如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython对JSON、Web Service、WCF以及Sockets支持等系列新特性步步学Silverlight 2系列文章带您快速进入Silverlight 2开发
本文为系列文章第 5篇利用前面讲过鼠标事件处理实现简单拖放功能
准备XAML 在实现拖放功能中分为 3个步骤:
1.按下鼠标触发MouseLeftButtonDown事件选择要拖动对象
2.移动鼠标触发MouseMove事件移动选择对象
3.放开鼠标触发MouseLeftButtonUp事件停止捕捉事件
做个简单界面用个按钮来显示拖放如下XAML声明:
<Canvas Background="#46461F">
<Button
MouseLeftButtonDown="OnMouseDown"
MouseMove="OnMouseMove"
MouseLeftButtonUp="OnMouseUp"
Canvas.Left="50" Canvas.Top="50" Background="Red"
FontSize="18"
Width="160" Height="80">
<Button.Content>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"
VerticalAlignment="Center">
<Image Source="smile_6.png"></Image>
<TextBlock Text="拖动我" VerticalAlignment="Center" Margin="10"></TextBlock>
</StackPanel>
</Button.Content>
</Button>
</Canvas>
这里为了界面显示效果使用了Control控件模板后续会专门讲到开始拖放操作 开始拖放操作实现MouseLeftButtonDown事件处理用两个全局变量来记录当前鼠标位置和鼠标是否保持移动
bool trackingMouseMove = false;
Po mousePosition;
void _disibledevent="学Silverlight 2系列(5):实现简单拖放功能" />
结束语 本文实现了个简单拖放功能(举例来自于Silverlight 2 SDK)下载文本举例代码
延伸阅读
最新评论