zoukankan      html  css  js  c++  java
  • 一起谈.NET技术,WPF MultiTouch 开发:惯性效果(Inertia) 狼人:

      从上一篇实例可以发现在图片移动过程中如果将手指移开屏幕则图片会立刻停止,根据这种情况WPF 提供另外一种惯性效果(Inertia)。通过它可以使UI 单元移动的更加符合物理特性、更为实际和流畅。

      在前面代码的基础上还需要为<Canvas> 增加ManipulationInertiaStarting 事件。

    <Canvas x:Name="touchPad" Background="Gray"                
    ManipulationStarting="image_ManipulationStarting"
    ManipulationDelta="image_ManipulationDelta"
    ManipulationCompleted="image_ManipulationCompleted"
    ManipulationInertiaStarting="image_ManipulationInertiaStarting">

      image_ManipulationInertiaStarting 事件内容如下代码,分别对TranslationBehavior、ExpansionBehavior、RotationBehavior 进行设置,使其具备惯性特征。

    private void image_ManipulationInertiaStarting(object sender, 
    ManipulationInertiaStartingEventArgs e)
    {
    e.TranslationBehavior = new InertiaTranslationBehavior();
    e.TranslationBehavior.InitialVelocity = e.InitialVelocities.LinearVelocity;
    e.TranslationBehavior.DesiredDeceleration = 10.0 * 96.0 / (1000.0 * 1000.0);

    e.ExpansionBehavior = new InertiaExpansionBehavior();
    e.ExpansionBehavior.InitialVelocity = e.InitialVelocities.ExpansionVelocity;
    e.ExpansionBehavior.DesiredDeceleration = 0.1 * 96 / 1000.0 * 1000.0;

    e.RotationBehavior = new InertiaRotationBehavior();
    e.RotationBehavior.InitialVelocity = e.InitialVelocities.AngularVelocity;
    e.RotationBehavior.DesiredDeceleration = 720 / (1000.0 * 1000.0);
    }

      程序演示

      通过下面视频可以看到在进行Manipulation 时,图片都已具备惯性效果。

      相关文章

      1. WPF Multi-Touch 开发:Windows 7 安装多点触屏模拟器
      2. WPF Multi-Touch 开发:基础触屏操作(Raw Touch)
      3. WPF Multi-Touch 开发:高级触屏操作(Manipulation)

      源码下载:WpfInertia.zip

  • 相关阅读:
    操作MySQL数据库相关代码
    JSP(1)
    servlet(6)
    servlet(5)
    Java易错知识点(2)
    Java Web项目中解决中文乱码方法总结
    Java易错知识点(1)
    servlet(4)
    TCP协议之三次握手四次挥手
    day-4 map&filter
  • 原文地址:https://www.cnblogs.com/waw/p/2158598.html
Copyright © 2011-2022 走看看