ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Xamarin.Forms 中的几个实用技巧

2022-04-14 09:34:41  阅读:224  来源: 互联网

标签:Xamarin 实用技巧 XAML 绑定 Forms 编译 字体 使用


启用XAML编译

在使用Xamarin.Forms新建内容XAML页时, 在类级别会出现声明的特性, 如下所示:

    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class ViewA : ContentView
    {
        public ViewA()
        {
            InitializeComponent();
        }
    }

那么该特性的作用是启用XAML编译, 这样在使用XAML时会大大提高应用中的性能, XAML 编译提供了很多好处:

  • 它会执行 XAML 的编译时检查,从而可向用户通知任何错误。
  • 它会消除 XAML 元素的某些负载和实例化时间。
  • 它通过不再包含 .xaml 文件,来帮助减小最终程序集的文件大小。

默认情况下,在框架中禁用 XAML 编译。 但是,在新项目的模板中启用了它。 通过添加 XamlCompilation 属性,可以显式启用或禁用 (XamlCompilationOptions.Skip) 在程序集和类级别上。

XAML 可以根据需要使用 XAML 编译器 (XAMLC) 直接编译为中间语言 (IL)。

在程序及级别的声明, 这样就不必要在每个XAML类当中声明, 声明的位置可以是任意位置, 一般来讲会放在比较明显的地方, 以便于统一管理, 声明如下:

[assembly: XamlCompilation(XamlCompilationOptions.Compile)]

使用编译绑定

编译绑定是一种在编译时告诉 Xamarin.Forms 绑定将使用的数据类型的方法。这意味着 Xamarin.Forms 不必在运行时使用任何反射来解析数据绑定。通过对任何项使用特殊属性,可以启用已编译的绑定。x:DataTypeVisualElement

使用编译绑定为你和你的应用提供了一些主要好处:

  1. 所有绑定表达式的编译时验证。
  2. 性能改进,因为绑定在编译时解析。

编译时验证, 可以在编译阶段检查非法声明、拼写错误。这是将收到错误。

下面的案例中, 试图将不存在的属性 Names 绑定在Lable上, 这是编译会提出相应的错误。

在此应用中,我们有一个数据绑定到 的 ListView。我们可以引入 的命名空间

xmlns:local="clr-namespace:App4"

然后, 给DataTemplate 指定其类型:

		<ListView ItemsSource="{Binding Students}">
            <ListView.ItemTemplate>
                <DataTemplate x:DataType="local:Student">
                    <Label Text="{Binding Name}" />
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

使用编译绑定的前提, 你需要启用XAML 编译选项

使用嵌入字体

从 Xamarin.Forms 4.5 开始,我们将让您的生活再次更轻松一些。只需三个简单的步骤,我们将添加一种可在iOS,Android和UWP中使用的字体。

1. 将字体文件(otf 或 ttf)添加到共享项目并将其标记为嵌入资源

只需将字体文件添加到项目中的任何文件夹,然后将“生成操作”设置为 。Samantha.ttf EmbeddedResource

2. 在共享项目中添加导出字体属性

最明显的地方是你的或.但是,由于该属性将在程序集级别注册此属性,因此您可以将其放在任何位置。属性的放置取决于您希望它对其他/未来开发人员的可见程度。App.xaml.cs``AssemblyInfo.cs

命名空间之外的任何位置都可以使用。只需添加此内容:

[assembly: ExportFont("`Samantha.ttf", Alias = "`Samantha")]

就是这样!现在,你已准备好在应用中使用字体。通过代码或 XAML,直接在控件上或通过样式。请注意,您不再需要查找后记字体名称。只需使用字体文件名即可。这将适用于所有平台!

<Label Text="Welcome to Xamarin.Forms!" 
    FontFamily="Samantha" FontSize="50" 
    HorizontalOptions="Center" VerticalOptions="CenterAndExpand" />

标签:Xamarin,实用技巧,XAML,绑定,Forms,编译,字体,使用
来源: https://www.cnblogs.com/zh7791/p/16143054.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有