中的 XAML 編譯 Xamarin.Forms

XAML 可以選擇性地使用 XAML 編譯程式 (XAMLC) 直接編譯成中繼語言 (IL)。

XAML 編譯提供一些優點:

  • 它會執行 XAML 的編譯時間檢查,以通知使用者是否有任何錯誤。
  • 它能免去 XAML 元素一部分的載入和具現化時間。
  • 它能透過不再包含 .xaml 檔案來協助減少最終組件的檔案大小。

預設會在架構中停用 XAML 編譯。 不過,會在新專案的範本中啟用。 您可以藉由新增 XamlCompilation 屬性,在元件和類別層級明確啟用或停用XamlCompilationOptions.Skip它。

下列程式代碼範例示範如何在元件層級啟用 XAML 編譯:

using Xamarin.Forms.Xaml;
...
[assembly: XamlCompilation (XamlCompilationOptions.Compile)]
namespace PhotoApp
{
  ...
}

雖然屬性可以放在任何地方,但放置屬性的好位置是AssemblyInfo.cs

在此範例中,將會執行元件內含之所有 XAML 的編譯時間檢查,並在編譯階段而非運行時間報告 XAML 錯誤。 因此,屬性的assemblyXamlCompilation前置詞會指定屬性會套用至整個元件。

注意

屬性 XamlCompilationXamlCompilationOptions 列舉位於命名空間中 Xamarin.Forms.Xaml ,必須匯入才能使用它們。

下列程式代碼範例示範如何在類別層級啟用 XAML 編譯:

using Xamarin.Forms.Xaml;
...
[XamlCompilation (XamlCompilationOptions.Compile)]
public class HomePage : ContentPage
{
  ...
}

在此範例中,將會執行類別 XAML HomePage 的編譯時間檢查,並在編譯過程中回報錯誤。

注意

您可以啟用編譯的系結,以改善應用程式中的數據系結效能 Xamarin.Forms 。 如需詳細資訊,請參閱編譯繫結