Xamarin.Forms的XAML解释和用法介绍

本文概述

  • XAML工作
  • XAML的优点
  • Xaml的好处
  • 属性
  • XAML和代码之间的区别
  • 档案结构
  • XAML UI结构
Xaml或可扩展标记语言是一种声明性语言, 用于在Xamarin.Forms中创建用户界面。
Xaml是基于XML的简单声明性标记语言。 Xaml是区分大小写的强类型标记语言, 它将表示与业务逻辑分开。 XAML元素是CLR对象的XML表示形式。 Xaml用于在层次关系中创建, 初始化和设置对象的属性。 Xaml主要用于设计WPF, Silverlight, Windows Phone和Xamarin Forms中的UI。
XAML工作 Xaml文件将转换为BAML(二进制应用程序标记语言), 它将作为一种资源嵌入到最终的DLL / exe中。
Xamarin.Forms的XAML解释和用法介绍

文章图片
XAML的优点
  • XAML基于XML语法。
  • XAML代码小而容易。
  • 与代码相比, XAML代码易于编写且易于理解。
  • 与代码相比, 使用XAML设计UI更容易。
  • XAML在UI(XAML)和UI逻辑(C#)之间提供了清晰的分隔。
  • XAML将设计人员和开发人员的角色分开。
Xaml的好处 首先, 在XAML中布置用户界面的最大好处是容易。当使用XAML对页面中的可视树控件进行布局时, 可以快速制作应用程序, 并且外观非常明显。
XAML中的代码更具可读性。例如:当控件数据绑定到视图模型中的属性时, XAML语法比C#语法干净得多。
花费数据绑定:
< Label Text="{Binding FirstName}" />

【Xamarin.Forms的XAML解释和用法介绍】C#数据绑定:
Label firstNameLabel = new Label(); firstNameLabel.SetBinding(Label.Text, "FirstName");

XAML版本变得更具可读性。
最后, Xamarin在Xamarin Studio和Visual Studio中都引入了新版本的XAML预览器。该工具允许开发人员在IDE中查看用户界面。
XAML页面的结构
< ?xml version="1.0" encoding="utf-8" ?> < ContentPage xmlns="http://xamarin.com/schemas/2014/forms"xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"xmlns:local="clr-namespace:XamarinLifecycle"x:Class="XamarinLifecycle.MainPage"> < StackLayout> < !-- Place new controls here --> < Label Text="Welcome to Xamarin.Forms!" HorizontalOptions="Center"VerticalOptions="CenterAndExpand" /> < /StackLayout> < /ContentPage>

在这里, XAML解析器打开的< ContentPage> 元素知道它已经遇到了内容页面, 因此应该实例化。其他UI控件放置在< ContentPage.Content> 标记内, XAML解析器在其中实例化以构建UI。
XAML解析器负责XAML文件的工作, 查找需要实例化的元素, 设置其属性, 将适当的控件放置在总体Layout中的适当位置, 执行数据绑定等。一项令人印象深刻的技术。
属性 在XAML中, 属性具有两种风格。第一个是属性属性。这些是最简单有效的理解。在UI组件的标签内声明的属性属性。属性名称将始终与控件的属性名称相同, 但属性的值将始终为字符串。
< Label Text="bURGER AND FRIES" TextColor="Red"/>

我们总是指定一个字符串, 因为XAML接受XML规则。
XAML的第二种属性是元素属性。当属性的值太复杂而无法在简单的字符串中表达时, 使用元素属性。
元素属性倾向于隐藏在视线中。创建空白ContentPage时, 该元素是元素属性。此属性用于保存Page的其余内容, 该内容太复杂而无法在字符串中表达。
XAML和代码之间的区别 XAML比代码更易于维护和修改。 Xaml易于解析, 可以通过软件工具(而非代码)进行编辑。 XAML有时比等效的C#代码更简洁。
< StackLayout> < !-- Place new controls here --> < Label Text="Welcome to Xamarin.Forms!" HorizontalOptions="Center"VerticalOptions="CenterAndExpand" /> < /StackLayout>

XAML没有循环, 没有流控制, 没有代数计算语法, 也没有事件处理程序。在这种情况下, C#代码可以帮助我们定义所有这些内容。
档案结构 Xaml文件由两个文件组成。 UI和背后的代码。如果要创建注册表格, 则将具有以下内容:
  • Login.Xaml-XAML用户界面
  • UI的Login.Xaml.CS-代码隐藏
XAML UI结构 XAML视图由一个页面组成, 可以使用不同的布局, 如果没有布局, 则使用多个视图来创建UI。
Xamarin.Forms的XAML解释和用法介绍

文章图片

    推荐阅读