Silverlight实例开发 简单的拖拽效果
2010-03-31 16:37
429 查看
Silverlight 2完美征程学习笔记
拖拽效果分为3个步骤
按下鼠标,触发MouseLeftButtonDown事件,选择要拖动的对象
移动鼠标,触发MouseMove事件,移动选择的对象
放开鼠标,触发MouseLeftButtonUp事件,停止捕捉事件
页面代码:
开始拖放操作,实现MouseLeftButtonDown事件的处理
移动对象,实现 MouseMove事件处理程序,计算元素的位置并更新,同时更新鼠标的位置
完成拖放操作,释放鼠标,实现MouseLeftButtonUp事件处理程序
拖拽效果分为3个步骤
按下鼠标,触发MouseLeftButtonDown事件,选择要拖动的对象
移动鼠标,触发MouseMove事件,移动选择的对象
放开鼠标,触发MouseLeftButtonUp事件,停止捕捉事件
页面代码:
开始拖放操作,实现MouseLeftButtonDown事件的处理
private void StackPanel_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { FrameworkElement element = sender as FrameworkElement; mousePosition = e.GetPosition(null); trackingMouseMove = true; if(null!=element) { element.CaptureMouse(); element.Cursor = Cursors.Hand; } txtStatus.Text = "MouseLeftButtonDown"; }
移动对象,实现 MouseMove事件处理程序,计算元素的位置并更新,同时更新鼠标的位置
private void StackPanel_MouseMove(object sender, MouseEventArgs e) { FrameworkElement element = sender as FrameworkElement; if(trackingMouseMove) { double deltaV = e.GetPosition(null).Y - mousePosition.Y; double deltaH = e.GetPosition(null).X - mousePosition.X; double newTop = deltaV + (double) element.GetValue(Canvas.TopProperty); double newLeft = deltaH + (double) element.GetValue(Canvas.LeftProperty); element.SetValue(Canvas.TopProperty, newTop); element.SetValue(Canvas.LeftProperty, newLeft); mousePosition = e.GetPosition(null); } txtStatus.Text = "Mouse Moving ……"; }
完成拖放操作,释放鼠标,实现MouseLeftButtonUp事件处理程序
private void StackPanel_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { FrameworkElement element = sender as FrameworkElement; trackingMouseMove = false; element.ReleaseMouseCapture(); mousePosition.X = mousePosition.Y = 0; element.Cursor = null; txtStatus.Text = "ReleaseMouse"; }
相关文章推荐
- Silverlight实例开发 简单的拖拽效果
- jquery实现简单的拖拽效果实例兼容所有主流浏览器
- Silverlight实现的简单拖拽效果
- jquery实现简单的拖拽效果实例兼容所有主流浏览器
- WEB前端开发学习----11. JQuery 实现简单的拖拽效果
- jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
- jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
- Jquery实现的简单轮播效果【附实例】
- Silverlight开发历程—动画(线性动画一些效果)
- 仿实例开发---简单四则计算器功能实现
- ios开发之简单实现loading动画效果
- HTML简单实例加表单的显示效果
- js最简单的拖拽效果实现代码
- CSS3+js实现简单的旋转圆环时钟效果实例
- 微信开发简单实例
- IOS开发-CGAffineTransform的用法,实现一些简单动画效果
- jquery实现简单的banner轮播效果【实例】
- 简单的iOS开发实例
- 用Java 开发 WebService Axis简单实例
- jquery简单实现点击弹出层效果实例