zoukankan      html  css  js  c++  java
  • WPF Multi-Touch 开发:惯性效果(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);
    }
  • 相关阅读:
    一篇文章读懂JSON
    不该被忽视的CoreJava细节(四)
    Java面试题总结(二)
    Java面试题总结(一)
    不该被忽视的CoreJava细节(三)
    不该被忽视的CoreJava细节(一)
    逐步解读String类(一)
    JSP注释格式
    命令行启动mysql服务
    经典进程的同步问题之——生产者&&消费者
  • 原文地址:https://www.cnblogs.com/happyyftk/p/3213330.html
Copyright © 2011-2022 走看看