wpf实现iphone滑动效果demo
来源:互联网 发布:vb乘法表代码 编辑:程序博客网 时间:2024/05/03 00:41
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;using System.Windows.Media.Animation;namespace FlashPrac2{ /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } /// <summary> /// 完成缓冲效果 /// </summary> /// <param name="from">起始位置</param> /// <param name="to">目标位置</param> /// <param name="ar">加速加速度</param> /// <param name="dr">减速加速度</param> /// <param name="duration">持续时间</param> private void DoMove(DependencyProperty dp, double to, double ar, double dr, double duration) { DoubleAnimation doubleAnimation = new DoubleAnimation();//创建双精度动画对象 doubleAnimation.To = to;//设置动画的结束值 doubleAnimation.Duration = TimeSpan.FromSeconds(duration);//设置动画时间线长度 doubleAnimation.AccelerationRatio = ar;//动画加速 doubleAnimation.DecelerationRatio = dr;//动画减速 doubleAnimation.FillBehavior = FillBehavior.HoldEnd;//设置动画完成后执行的操作 grdTransfer.BeginAnimation(dp, doubleAnimation);//设置动画应用的属性并启动动画 } private double pressedX; /// <summary> /// 点击鼠标,记录鼠标单击的位置 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void grdTest_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { ////获得鼠标点击的X坐标 pressedX = e.GetPosition(cvsGround).X; } ////鼠标释放时的操作 private void grdTest_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { double transferLeft = Convert.ToDouble(grdTransfer.GetValue(Canvas.LeftProperty)); btn1.Content = transferLeft.ToString(); if (transferLeft > 0) { transferLeft = 0; } if (this.Width - transferLeft > cvsGround.Width) { transferLeft = this.Width - cvsGround.Width; } ////获得鼠标释放时的位置 double releasedX = e.GetPosition(cvsGround).X; ////获得距离间隔 double interval = releasedX - pressedX; pressedX = 0; ////计算出传送带要的目标位置 double to = transferLeft + interval; ////移动 btn1.Content = transferLeft.ToString() + " " + to.ToString(); // btn1.Content = transferLeft.ToString() + " " + to.ToString(); DoMove(Canvas.LeftProperty, to, 0.1, 0.5, 0.5); } }}
////xaml代码:
<Window x:Class="FlashPrac2.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Canvas Width="1500" x:Name="cvsGround"> <StackPanel Width="1500" Height="525" x:Name="grdTransfer" Canvas.Left="0" Background="SkyBlue" PreviewMouseLeftButtonDown="grdTest_PreviewMouseLeftButtonDown" PreviewMouseLeftButtonUp="grdTest_PreviewMouseLeftButtonUp" Orientation="Horizontal"> <Button Width="300" Height="525" x:Name="btn1" Background="SkyBlue" /> <Button Width="300" Height="525" x:Name="btn2" Background="Orange" /> <Button Width="300" Height="525" x:Name="btn3" Background="Red" /> <Button Width="300" Height="525" x:Name="btn4" Background="Green" /> <Button Width="300" Height="525" x:Name="btn5" Background="Yellow" /> </StackPanel> </Canvas> </Window>
- wpf实现iphone滑动效果demo
- wpf实现仿苹果水平滑动效果
- WINCE下实现类似iphone滑动效果
- c#,使用WPF实现iPhone的短信框效果
- 如何在android上实现IPhone的按钮滑动效果
- 使用luncher实现类似iphone平滑滑动效果
- 实现滑动菜单栏demo
- c#,使用WPF的Adorner实现iPhone上新邮件或消息提示效果----实现(一)
- c#,使用WPF的Adorner实现iPhone上新邮件或消息提示效果----实现(二)
- WPF 实现水纹效果
- WPF实现下雪效果 ...
- WPF实现毛玻璃效果
- WPF 实现阴影效果
- WPF实现抽屉效果
- Wpf实现钟表效果
- WPF 实现 Apple滑动工具条
- WPF 实现 Apple滑动工具条
- jQuery实现滑动效果
- QT学习(五)QT 连接 sqlite
- 设置BIOS的x86模式
- 自定义gridview
- Solaris System V IPC 配置
- ......
- wpf实现iphone滑动效果demo
- sql
- 实现简单的表达式求值
- 内存的检测
- sql2
- sql3
- 泛型的工具类
- 数学书目
- sql4