Компиляция XAML в Xamarin.Forms
XAML можно компилировать непосредственно на промежуточный язык (IL) с помощью компилятора XAML (XAMLC).
Компиляция XAML предлагает ряд преимуществ:
- Он проверяет XAML во время компиляции, уведомляя пользователя об ошибках.
- Он сокращает часть времени загрузки и создания элементов XAML.
- Он позволяет сократить размер файла окончательной сборки, так как больше не добавляет XAML-файлы.
Компиляция XAML отключена по умолчанию в платформе. Однако он включен в шаблонах для новых проектов. Его можно явно включить или отключить (XamlCompilationOptions.Skip
) на уровне сборки и класса, добавив XamlCompilation
атрибут.
В следующем примере кода демонстрируется включение компиляции XAML на уровне сборки:
using Xamarin.Forms.Xaml;
...
[assembly: XamlCompilation (XamlCompilationOptions.Compile)]
namespace PhotoApp
{
...
}
Хотя атрибут можно разместить в любом месте, хорошее место, чтобы поместить его в AssemblyInfo.cs.
В этом примере выполняется проверка времени компиляции всех XAML, содержащихся в сборке, с ошибками XAML, сообщаемых во время компиляции, а не во время выполнения. Поэтому префикс атрибута XamlCompilation
указывает, assembly
что атрибут применяется ко всей сборке.
Примечание.
Атрибут XamlCompilation
и перечисление XamlCompilationOptions
находятся в Xamarin.Forms.Xaml
пространстве имен, которое необходимо импортировать для их использования.
В следующем примере кода демонстрируется включение компиляции XAML на уровне класса:
using Xamarin.Forms.Xaml;
...
[XamlCompilation (XamlCompilationOptions.Compile)]
public class HomePage : ContentPage
{
...
}
В этом примере проверка времени компиляции xaml для HomePage
класса будет выполнена, и в процессе компиляции сообщались ошибки.
Примечание.
Скомпилированные привязки можно включить для повышения производительности привязки данных в Xamarin.Forms приложениях. Дополнительные сведения см. в статье Скомпилированные привязки.