翻譯|其它|編輯:陳津勇|2019-08-30 16:01:06.890|閱讀 504 次
概述:本文主要介紹啟用XAML熱重載的方法以及運作方式。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
作為一個開發人員,我們經常會陷入一個運行應用程序的循環,注意到需要進行一些調整,停止應用程序,估計調整后的值,然后再次重復整個過程,看看這個估計是否正確。我們稱之為“內部開發循環”,這是一個相當乏味的過程。
XAML Hot Reload for Xamarin.Forms的公開預覽
近日,微軟宣布發布最新的Visual Studio和Visual Studio for Mac預覽版。此版本中包含的令人興奮的新功能之一是XAML Hot Reload for Xamarin.Forms的公開預覽。在使用Xamarin.Forms XAML時,XAML Hot Reload會立即反映您在正在運行的應用中所做的更改,而無需停止和重建,這將大大加快您的內部開發循環。
以下是Hot Reload的示例:
啟用XAML熱重載
作為預覽功能,當您第一次更新到Visual Studio 2019或Visual Studio for Mac的最新預覽時,默認情況下,XAML Hot Reload for Xamarin.Forms當前處于禁用狀態。請按照以下步驟啟用它:
1、確保您已安裝包含XAML Hot Reload的最新預覽:
Visual Studio for Mac 8.3預覽版2
2、在設置屏幕中啟用Xamarin XAML Hot Reload:
在Windows上,可以通過選中啟用Xamarin熱重載復選框來啟用XAML熱重載:工具>選項>Xamarin> 熱重載。
在Mac上,可以通過勾選“Xamarin Hot Reload”復選框來啟用XAML熱重載:Visual Studio>Preferences>項目>Xamarin熱重載。
3、調試您的Xamarin.Forms Android或iOS應用程序,并在您的應用程序運行時編輯XAML文件。點擊“保存”后,更改將自動應用于正在運行的應用。
它是如何工作的?
在嘗試重新加載所有內容之前,了解XAML Hot Reload for Xamarin.Forms的功能和限制非常重要。當您將更改保存到Xamarin.Forms XAML文件時,XAML Hot Reload會跳轉到操作:
首先,XAML熱重載標識運行時對象,該對象對應于已編輯的XAML文件的頂級對象。如果當前未加載視圖或頁面,則保存更改以備稍后使用。
Xamarin.Forms XAML加載程序在現有對象上再次運行,重置其屬性并從更改的XAML文件重新創建其子項。
在對象上再次調用InitializeComponent方法,將新膨脹的對象重新連接到任何事件處理程序或x:Name屬性(您的代碼后面可能有這些屬性)。
正如您可能猜到的,這種方法有一些局限性:
不重新加載代碼和資源更改。您只能將更改重新加載到XAML,不會重新加載對代碼的更改(包括添加新事件處理程序或資源,如圖像或CSS)。
某些視圖狀態可能會在重新加載時丟失。如果您在代碼和XAML中修改視圖的外觀或樣式,這些修改可能不會在重新加載后重新應用。這是因為代碼可能不會在新膨脹的XAML對象上重新運行。
在大多數情況下,XAML Hot Reload具有足夠的彈性,可以很好地處理不受支持的更改。在編輯XAML文件時,它將指示無效的XAML或IntelliSense的其他問題。
為了獲得更好的重新加載體驗,微軟正在努力消除其中一些限制,同時保留更多的視圖狀態。你可以通過及時地了解最新預覽版本,率先獲得改進更新哦~
我們希望得到您對此公開預覽的看法
微軟已經發布XAML Hot Reload for Xamarin.Forms作為預覽功能,以開始改善您的內部開發循環,但未來的路線圖將由您的反饋和需求驅動。所以,歡迎您下載Visual Studio 2019或Visual Studio for Mac嘗試該新功能,并將使用后的感受或建議通過留言的方式或告訴我們~
想要獲得 Visual Studio 更多資源的伙伴,請點這里。
想要獲取 Visual Studio 正版授權的伙伴,
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn