在 XAML 預覽工具中轉譯自定義控制件
自定義控件有時無法在 XAML 預覽工具中如預期般運作。 使用本文中的指引來瞭解預覽自定義控件的限制。
警告
VISUAL Studio 2019 16.8 版和 Visual Studio for Mac 8.8 版已淘汰 XAML 預覽工具,並以 Visual Studio 2019 16.9 版和 Visual Studio for Mac 8.9 版中的 XAML 熱重新載入 功能取代。 在檔中深入瞭解 XAML 熱重新載入。
基本預覽模式
即使您尚未建置專案,XAML 預覽程式也會轉譯您的頁面。 在您建置之前,任何依賴程式代碼後置的控件都會顯示其基底 Xamarin.Forms 類型。 建置專案時,XAML 預覽程式會嘗試顯示已啟用設計時間轉譯的自定義控件。 如果轉譯失敗,則會顯示基底 Xamarin.Forms 類型。
啟用自定義控件的設計時間轉譯
如果您建立自己的自定義控件,或使用來自第三方連結庫的控件,預覽工具可能會顯示不正確。 不論您撰寫控件還是從文檔庫匯入控件,自定義控件都必須選擇加入設計時間轉譯,才能出現在預覽中。 使用您已建立的控制項,將 新增 [DesignTimeVisible(true)]
至控件的 類別,以在預覽工具中顯示它:
namespace MyProject
{
[DesignTimeVisible(true)]
public class MyControl : BaseControl
{
// Your control's code here
}
}
以 詹姆斯·蒙特馬格諾的 ImageCirclePlugin 基類 為例。
SkiaSharp 控制件
目前,只有在 iOS 上預覽時,才支援 SkiaSharp 控件。 它們不會在 Android 預覽版上轉譯。
疑難排解
檢查您的 Xamarin.Forms 版本
請確定您已安裝至少 Xamarin.Forms 3.6。 您可以在 NuGet 上更新版本 Xamarin.Forms 。
即使使用 [DesignTimeVisible(true)]
,我的自定義控件也不會正確轉譯。
依賴大量程序代碼後置或後端數據的自定義控件不一定會在 XAML 預覽工具中運作。 您可以嘗試:
XAML 預覽程式會顯示「自定義控件未正確轉譯」錯誤
請嘗試清除和重建您的專案,或關閉並重新開啟 XAML 檔案。