本文概述
- XAML工作
- XAML的优点
- Xaml的好处
- 属性
- XAML和代码之间的区别
- 档案结构
- XAML UI结构
Xaml是基于XML的简单声明性标记语言。 Xaml是区分大小写的强类型标记语言, 它将表示与业务逻辑分开。 XAML元素是CLR对象的XML表示形式。 Xaml用于在层次关系中创建, 初始化和设置对象的属性。 Xaml主要用于设计WPF, Silverlight, Windows Phone和Xamarin Forms中的UI。
XAML工作 Xaml文件将转换为BAML(二进制应用程序标记语言), 它将作为一种资源嵌入到最终的DLL / exe中。
文章图片
XAML的优点
- XAML基于XML语法。
- XAML代码小而容易。
- 与代码相比, XAML代码易于编写且易于理解。
- 与代码相比, 使用XAML设计UI更容易。
- XAML在UI(XAML)和UI逻辑(C#)之间提供了清晰的分隔。
- 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-代码隐藏
文章图片
推荐阅读
- Xamarin.Forms(跨平台)用法详细图解
- Xamarin和React Native有什么区别(详细示例图解)
- Xamarin分析器介绍和用法详细图解
- Xamarin和Ionic有什么区别(答案在这里————)
- Xamarin.Android开发实例详细图解
- Xamarin模型-视图-视图模型模式(MVVM)示例解释
- pageContext中pagerequestsessionapplication四种范围变量的用法。
- 移动APP自动化测试框架对比
- 3_如何将Android程序部署到实体机上