第二十二章:動畫(六)

復合動畫
您可以混合等待和未等待的調用來創建復合動畫。 例如,假設您希望按鈕在大小擴展的同時旋轉360度然后收縮。
ViewExtensions類定義一個方法名稱ScaleTo,它為Scale屬性設置動畫,就像RotateTo為Rotate屬性設置動畫一樣。 Button大小的擴展和收縮需要兩個連續的動畫,但這些動畫應該與旋轉同時發生,這只需要一次調用。 因此,RotateTo調用可以在沒有await的情況下執行,并且當該動畫在后臺運行時,該方法可以對ScaleTo進行兩次順序調用。
在AnimationTryout中嘗試:

async void OnButtonClicked(object sender, EventArgs args)
{button.Rotation = 0;button.RotateTo(360, 2000);await button.ScaleTo(5, 1000);await button.ScaleTo(1, 1000);
}

持續時間比正常時間長,這樣你就可以看到發生了什么。 RotateTo方法立即返回,第一個ScaleTo動畫從那時開始。 但是,等待第一個ScaleTo上的運算符會延遲第二個ScaleTo的調用,直到第一個ScaleTo完成。 那時,RotateTo動畫只完成了一半,Button旋轉了180度。 在接下來的1,000毫秒內,RotateTo幾乎在第二個ScaleTo動畫完成的同時完成。
這是按鈕,因為它正在通過動畫:
2019_03_01_171052
因為OnButtonClicked方法使用async關鍵字標記,并且第一個RotateTo沒有await運算符,所以您將從編譯器收到一條警告消息,指出:“因為不等待此調用,所以當前方法的執行在 通話完成。 考慮將'await'運算符應用于調用的結果。“
如果您不想看到該警告消息,可以使用禁用該特定警告的#pragma語句將其關閉:

#pragma warning disable 4014

您可以將該語句放在源代碼文件的頂部,以禁用整個文件中的警告。 或者您可以將其置于違規通話之前,并在通話后重新啟用這些警告:

#pragma warning restore 4014

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252216.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252216.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252216.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#操作Excel總結

0. 導入命名空間: 1234using Microsoft.Office.Core;using Microsoft.Office.Interop.Excel;using System.IO;using System.Reflection;1. 如何打開已有excel文檔,或者創建一個新的excel文檔 123Application app new Application();Workbooks wbks app…

Ubuntu16.04用源安裝Nginx+PHP5.6+MySQL5.6

安裝Nginx 1、首先添加nginx_signing.key(必須,否則出錯) $ wget http://nginx.org/keys/nginx_signing.key$ sudo apt-key add nginx_signing.key 2、添加]Nginx](http://nginx.org/)官方提供的源 $ echo "deb http://nginx.org/packages/ubuntu/ trusty ngin…

leetcode -39組合總數

搜就完事了,沒想著優化。唉~太菜,給一個位置標記位置,然后通過該位置向該位置及該位置以下尋找,這樣不存在什么重復回去查找問題。 如果總結大于目標值,回溯一下,如果不大于繼續。 class Solution { public…

避免某個子窗體重復運行的方法(showdialog、show)

在C#中窗口的顯示有兩種方式:模態顯示(showdialog)和非模態顯示(show)。 二者最常見的區別是:模態顯示后,彈出窗口阻止調用窗口的所有消息響應。只有在彈出窗口結束后調用窗口才能繼續。在模態窗…

ubantu之Git使用

本文講述在Ubuntu 14.04 x64環境下,如何安裝Git,配置連接GitHub,并且上傳本地代碼到github。 一. 注冊Git賬戶以及創建倉庫 要想使用github第一步當然是注冊github賬號了。之后就可以創建倉庫了(免費用戶只能建公共倉庫&#xff0…

Java中基礎數據類型分類

Java中的四類八種基本數據類型 第一類:整數類型 byte short int long (int是整形,也屬于整數類型) 第二類:浮點型 float double 第三類:邏輯型 boolean(它只有兩個值可取true false) 第四類&#xff1…

C#如何打包EXE程序生成setup安裝文件

C#如何打包EXE程序生成setup安裝文件作為研發人員,在本機上開發的winform wpf或者控制臺程序需要發給其他人測試時候,一般需要對其進行打包生成setup安裝文件,今天第一次,搜了下資料,記錄如下:注&#xff1…

PHP正則表達式

php正則表達示的定界符 PHP的正則表達示定界符的規定如下: 定界符,不能用a-z A-Z 0-9 其他的都可以用。必須成對出現,有開始就有結束。 我們來例幾個例子: /中間寫正則/ 正確%中間寫正則% 正確^中間寫正則^ 正確中間寫正則 正確(…

最具戲劇性的分析診斷案例——十分鐘鎖定數據庫性能“元兇”

昨天,正好有點空時間想看看書,結果,剛打開書,沒看幾個字兒,接到用戶電話說:一個庫有問題,希望能幫忙看下。因為我知道他們那邊也有自己的專職DBA,于是問:沒讓人給看看嗎&…

Python黑科技:在家遠程遙控公司電腦,python+微信一鍵連接!

有時候需要遠程家里的臺式機使用,因為我平時都是用 MAC 多,但是遠程喚醒只能針對局域網,比較麻煩,于是我想用微信實現遠程喚醒機器。 *注意:全文代碼可左右滑動查看 準備工作 本程序主要是實現遠程管理 Windows10操作系…

c#通過app.manifest使程序以管理員身份運行

通常我們使用c#編寫的程序不會彈出這個提示,也就無法以管理員身分運行。微軟的操作系統使用微軟的產品方法當然是有的,通過app.manifest配置可以使程序打開的時候,彈出UAC提示需要得到允許才可以繼續,這樣就獲得了管理員的權限來執…

Oracle 作業

Oracle 作業 dbms_job與 dbms_scheduler 用于安排和管理作業隊列,通過使用作業,可以使ORACLE數據庫定期執行特定的任務。 一. dbms_job 1.1. 創建 variable jobno number; begin dbms_job.submit(:jobno,proce_t;, sysdate, sysdate1/24/60); commit; end; / 1.2. 參數 Job 輸出…

企業級 Spring Boot 教程 (十四)用restTemplate消費服務

構架工程 創建一個springboot工程,去消費RESTFUL的服務。這個服務是 http: ///gturnquist-quoters.cfapps.io/api/random ,它會隨機返回Json字符串。 Spring Cloud大型企業分布式微服務云架構源碼請加一七九一七四三三八零 在Spring項目中,它…

MOS管基本認識(快速入門)

1. 三個極的判定G極(gate)—柵極,不用說比較好認 S極(source)—源極,不論是P溝道還是N溝道,兩根線相交的就是 D極(drain)—漏極,不論是P溝道還是N溝道,是單獨引線的那邊2. N溝道與P溝道判別箭頭指向G極的是N溝道 箭頭背…

基礎構建模塊

5 基礎構建模塊 Java平臺類庫包含了豐富的并發基礎構建模塊,例如線程安全的容器類以及各種用于協調多個相互協作的線程控制流的同步工具類(Synchronizer)。本章將介紹其中一些最有用的并發構建模塊。 5.1同步容器類 同步容器類包括Vector和Hashtable,二者…

TCP定時器

1. TCP中7種定時器 TCP中有7中定時器 (1)建立連接定時器(connection-establishment timer) (2)重傳定時器(retransmission timer) (3)延遲應答定時器(delayed ACK timer) (4)堅持定時…

sql優化大全

1. 優化SQL步驟 1. 通過 show status和應用特點了解各種 SQL的執行頻率 通過 SHOW STATUS 可以提供服務器狀態信息,也可以使用 mysqladmin extende d-status 命令獲得。 SHOW STATUS 可以根據需要顯示 session 級別的統計結果和 global級別的統計結果。 如顯示當前s…

Halcon實現邊緣提取

一、邊緣提取 1、設置ROI興趣區域 2、快速二值化,并連接相鄰區域。 這樣做的目的是進一步減少目標區域,通過二值化將目標區域大概輪廓提取出來 3、提取最接近目標區域的輪廓 常用函數有boundary,gen_contour_region_xld 4、根據自己的需求提取…

軟件工程網絡15個人閱讀作業1 201521123038 游舒婷

軟件工程網絡15個人閱讀作業1 201521123038 游舒婷 1.博客園地址 sakurai3104 2.碼云地址 sakurai3104 3.閱讀與思考 (1)回想一下你初入大學時對網絡工程專業的暢想 當初你是如何做出選擇網絡工程專業的決定的? 填報志愿的時候,大…

18LaTeX學習系列之---LaTeX的參考文獻

目錄 目錄前言(一)簡單的參考文獻1.說明2.源代碼3.輸出效果(二)以文件管理的方式1.說明:2.源代碼:3.輸出效果(三)直接從源網站獲取1.說明2.操作目錄 本系列是有關LaTeX的…