Xamarin.Forms 中的 XAML 编译
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 错误。 因此,XamlCompilation
属性的 assembly
前缀指示属性适用于整个程序集。
注意
XamlCompilation
属性和 XamlCompilationOptions
枚举驻留在 Xamarin.Forms.Xaml
命名空间中,必须导入这些内容才能使用它们。
下面的代码示例演示如何在类级别启用 XAML 编译:
using Xamarin.Forms.Xaml;
...
[XamlCompilation (XamlCompilationOptions.Compile)]
public class HomePage : ContentPage
{
...
}
在此示例中,将对 HomePage
类的 XAML 执行编译时检查,并在编译过程中报告错误。
注意
可启用已编译的绑定来提升 Xamarin.Forms 应用程序中的数据绑定性能。 有关详细信息,请参阅已编译的绑定。