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" >。
查看全文
相关阅读:
封装函数通过输入(元素,属性,目标值)改变div样式
unicode键盘编码表
js中的索引值
JavaScript的三大组成部分
阿望教你用vue写扫雷(超详细哦)
关于换行以及换行属性
html中的a标签详解
利用GitHub Pages + jekyll快速搭建个人博客
本博客文章转载,请注明出处
git clone克隆项目太慢,或者直接导致克不下来的解决办法(转载请注明出处)
原文地址:https://www.cnblogs.com/pdfw/p/1154725.html
最新文章
flask的CBV
flask的中间件
flask的请求扩展
flask的闪现
flask的session
flask的请求
flask的模板渲染
Vue.js 入门:从零开始做一个极简 To-Do 应用
前端开发必备:nvm与npm与nrm
如何在一台电脑上同时使用Gitee(码云)和Github?
热门文章
element 上传组件 el-upload 的经验总结
JavaScript 中那些关于坐标和距离的属性与方法
vim 入门笔记
免费申请 WebStorm 使用许可
前端经典面试题:如何理解 HTML 语义化?
head 标签里有什么?
非关系型数据库-Mongodb
Node.js的框架-express
NodeJS概述2-事件插件-简易爬虫
Node.js概述1
Copyright © 2011-2022 走看看