zoukankan      html  css  js  c++  java
  • WPF中连续旋转时角度错误的问题

    <Window x:Class="ImageZoomTest.Window1"
    xmlns
    ="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" WindowState="Maximized">
      
    <Grid Margin="0" Name="gridMain">
        
    <Grid.ColumnDefinitions>
          
    <ColumnDefinition Width="0.7*"/>
          
    <ColumnDefinition Width="0.3*"/>
        
    </Grid.ColumnDefinitions>
        
    <DockPanel Grid.Column="0">
          
    <Image Name="imageLarge" Source="Image\1600XMAS_3001.jpg" Width="800" Height="500">
              
    <Image.RenderTransform>
                
    <RotateTransform x:Name="imageLargeRotateTransform" Angle="0"/>
              
    </Image.RenderTransform>
            
    </Image>
        
    </DockPanel>
        
    <DockPanel Grid.Column="1">
          
    <Button Name="btnRotateClockwise" Content="Rotate clockWise" DockPanel.Dock="Bottom" >
            
    <Button.Triggers>
              
    <EventTrigger RoutedEvent="Button.Click">
                
    <BeginStoryboard>
                  
    <Storyboard>
                    
    <DoubleAnimation Storyboard.TargetName="imageLargeRotateTransform" Storyboard.TargetProperty="Angle" By="90" Duration="0:0:1" />
                  
    </Storyboard>
                
    </BeginStoryboard>
              
    </EventTrigger>
            
    </Button.Triggers>
          
    </Button>
        
    </DockPanel>
      
    </Grid>
    </Window>
    上面这段代码的效果是点击一下button,图片顺时针旋转90度,动画时间是1秒针。如果点击按钮时候比较慢,两次点击的间隔大于1秒,运行正常。但是如果点击的很快,第一次点击的动画还没有结束,第二次点击的动画又开始了,图片最后停止时停留的角度就有问题了。

    解决这种现象的方法很简单,只要在BeginStoryboard里面设置HandoffBehavior属性为Compose就可以了: <BeginStoryboard HandoffBehavior ="Compose" >。
  • 相关阅读:
    [arXiv18]更快的基于非二叉化自底向上策略的转移系统成分句法分析
    [AAAI18]面向序列建模的元多任务学习
    [COLING18]两种成分句法分析的局部特征模型
    [ACL18]基于RNN和动态规划的线性时间成分句法分析
    成分句法分析综述
    [NAACL16]RNN文法
    [TACL17]基于中序转移的成分句法分析
    K-摇臂赌博机算法与实现
    关于JVM案例分析(四)
    关于JVM案例分析(三)
  • 原文地址:https://www.cnblogs.com/pdfw/p/1154725.html
Copyright © 2011-2022 走看看