原文:win10 UWP 动画

本文告诉大家如何写同一个简单的动画。

动画入门

本文开始写一个简单的动画,只是移动矩形作为本文的例子。

在 UWP 移动元素的动画,可以使用 RenderTransform 移动,然后使用动画修改 RenderTransform 进行动画。关于元素移动,请看 win10 uwp 拖动控件

首先写一个简单的界面,只有一个矩形

        <Grid x:Name="Bret">
<Rectangle x:Name="Rolernd" Width="100" Height="100" Fill="#FFa2a2a2"
HorizontalAlignment="Center" VerticalAlignment="Top"> </Rectangle>
</Grid>

然后在矩形加上 RenderTransform ,作为移动

        <Grid x:Name="Bret">
<Rectangle x:Name="Rolernd" Width="100" Height="100" Fill="#FFa2a2a2"
HorizontalAlignment="Center" VerticalAlignment="Top">
<Rectangle.RenderTransform>
<TranslateTransform></TranslateTransform>
</Rectangle.RenderTransform>
</Rectangle>
</Grid>

但是因为动画不可以直接播放,先加个按钮,点击按钮时播放。

        <Button Content="确定" Click="Button_OnClick"></Button>

现在界面看起来就是如下

        <Grid x:Name="Bret">
<Rectangle x:Name="Rolernd" Width="100" Height="100" Fill="#FFa2a2a2"
HorizontalAlignment="Center" VerticalAlignment="Top">
<Rectangle.RenderTransform>
<TranslateTransform></TranslateTransform>
</Rectangle.RenderTransform>
</Rectangle>
</Grid> <Button Content="确定" Click="Button_OnClick"></Button>

开始写动画。

需要在 Resources 写动画,于是在页面写上动画,这里使用 DoubleAnimation ,注意需要 Storyboard.TargetName 说明动画的元素。因为 RenderTransform 动画有点难,于是我才写他。

   <Page.Resources>
<Storyboard x:Key="Filiberto">
<DoubleAnimation Storyboard.TargetName="Rolernd" Storyboard.TargetProperty="(Rectangle.RenderTransform).(TranslateTransform.X)"
From="0" To="100" Duration="0:0:1"> </DoubleAnimation>
</Storyboard>
</Page.Resources>

其中的 From 就是修改数值从多少开始,To 就是到多少,后面的属性就是动画时间。写完动画就在按钮写播放,请看代码

        private void Button_OnClick(object sender, RoutedEventArgs e)
{
var s = (Storyboard)Resources["Filiberto"];
s.Begin();
}

点击F5就是可以看到界面出现矩形,按下按钮就向右走

win10 uwp 使用动画修改 Grid column 的宽度

http://www.cnblogs.com/KeithWang/archive/2012/03/30/2425588.html

http://www.cnblogs.com/lin277541/p/4882000.html

http://www.cnblogs.com/lin277541/p/5059489.html

http://www.cnblogs.com/lin277541/p/5064899.html

http://www.cnblogs.com/lin277541/p/5068410.html

http://www.cnblogs.com/lin277541/p/5074697.html

http://www.cnblogs.com/lin277541/p/4881188.html

http://www.cnblogs.com/lin277541/p/4876140.html

http://www.cnblogs.com/mantgh/p/4437892.html

http://www.datiancun.net/thread-1586-1-1.html


本文会经常更新,请阅读原文:
https://blog.lindexi.com/post/win10-UWP-%E5%8A%A8%E7%94%BB.html
,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者前往 CSDN 关注我的主页


本作品采用
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:
https://blog.lindexi.com
),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请
与我联系

以下是广告时间

推荐关注 Edi.Wang 的公众号


win10 UWP 动画的更多相关文章

  1. Win10 UWP开发系列:实现Master/Detail布局

    在开发XX新闻的过程中,UI部分使用了Master/Detail(大纲/细节)布局样式.Win10系统中的邮件App就是这种样式,左侧一个列表,右侧是详情页面.关于这种 样式的说明可参看MSDN文档: ...

  2. win10 uwp 拖动控件

    我们会使用控件拖动,可以让我们做出好看的动画,那么我们如何移动控件,我将会告诉大家多个方法.其中第一个是最差的,最后的才是我希望大神你去用. Margin 移动 我们可以使用Margin移动,但这是w ...

  3. win10 uwp 渲染原理 DirectComposition 渲染

    本文来告诉大家一个新的技术DirectComposition,在 win7 之后(实际上是 vista),微软正在考虑一个新的渲染机制 在 Windows Vista 就引入了一个服务,桌面窗口管理器 ...

  4. win10 uwp 如何开始写 uwp 程序

    本文告诉大家如何创建一个 UWP 程序. 这是一系列的 uwp 入门博客,所以写的很简单 本文来告诉大家如何创建一个简单的程序 安装 VisualStudio 在开始写 UWP 需要安装 Visual ...

  5. win10 uwp 萤火虫效果

    原文:win10 uwp 萤火虫效果 本文在Nukepayload2指导下,使用他的思想用C#写出来. 本文告诉大家,如何使用 win2d 做出萤火虫效果. 安装 win2d 安装win2d的方法请使 ...

  6. win10 uwp 手把手教你使用 asp dotnet core 做 cs 程序

    本文是一个非常简单的博客,让大家知道如何使用 asp dot net core 做后台,使用 UWP 或 WPF 等做前台. 本文因为没有什么业务,也不想做管理系统,所以看到起来是很简单. Visua ...

  7. win10 uwp win2d CanvasVirtualControl 与 CanvasAnimatedControl

    本文来告诉大家 CanvasVirtualControl ,在什么时候使用这个控件. 在之前的入门教程win10 uwp win2d 入门 看这一篇就够了我直接用的是CanvasControl,实际上 ...

  8. win10 uwp 使用 Border 布局

    在 UWP 写一个界面需要将元素排列,在排列元素的时候有特殊的元素叫容器.容器的意思是元素里面包含元素,在 UWP 用到的容器有很多,也可以自己写一个.简单的容器是 Border 边框控件,如控件说的 ...

  9. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

随机推荐

  1. 纯java代码搭建ssm

    参考: https://blog.csdn.net/Smile__1/article/details/103394460

  2. java用POI导出Excel

    架构SSM + Maven 一.添加依赖: <dependency> <groupId>org.apache.poi</groupId> <artifactI ...

  3. LC 206. Reverse Linked List

    题目描述 Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5-> ...

  4. python学习-44 程序的解耦 (不是特别懂的,回头在复习)

    import os def file_handler(backend_data,res=None,type='fetch'): # 查询功能 if type == 'fetch': with open ...

  5. StarUML3.1.0版(2019.3.6)生成Java代码

    下载官网 StarUML3.1.0(2019.3.6) 步骤 打开StarUML: 点击菜单栏的Tools: 列表中如果有Java,说明已经有这个生成Java代码的扩展了: 列表里如果没有Java: ...

  6. Qt实现艺术字效果

    Qt实现艺术字效果,通常有三种方式,一种是通过绘制机制,另外一种是使用样式表,最后一种是通过图片代替,本次介绍使用绘制来实现艺术字效果. 代码如下(分两种实现): 第一种: QPainter pain ...

  7. sit、qas、dev、pet

    SIT: System Integrate Test 系统整合测试 QAS: Quality Assurance system 质量保证 DEV: Development 开发 PET: Perfor ...

  8. Html5+Mui前端框架,开发记录(四):下拉菜单绑定数据、搜索、时间控件

    1.下拉菜单绑定数据,选择后回传值 1)html: <div class="mui-input-row"> <label>xxx:</label> ...

  9. Abp 领域事件简单实践 <四> 聚合根的领域事件

    聚合根有个 DomainEvents 属性. 首先聚合根是一个实体.这个实体的仓储有变化(增删改)的时候,会触发这个DomainEvents 里的事件.就像EventBus.Trigger一样. pu ...

  10. 踩坑记录-nuxt引入vuex报错store/index.js should export a method that returns a Vuex instance.

    错误 store/index.js代码如下: import Vue from 'vue'; import Vuex from 'vuex'; import city from './moudle/ci ...