反应XAML简介
XAML代表可扩展应用程序标记语言。它是一种声明性标记语言,用于为应用程序创建用户界面。 XAML在WPF中最广泛地用于前端语言。它定义了HTML之类的网页内容。用户可以使用WYSIWYG编辑器生成React XAML代码,以访问Microsoft Expression Studio或Blend for Visual Studio之类的程序。不仅如此,开发人员还可以从头开始创建XAML代码。 XAML使用WPF构建,并且支持任何Windows App。它是区分大小写的强类型语言,它将表示形式与业务逻辑分开。您可以查看一个使用XAML标签作为按钮的小例子:
<按钮x:Name =“ button”
内容=“ xyz_xaml”
HorizontalAlignment =“左”
VerticalAlignment =“顶部”
保证金=“ 150,300,0,0” />
选择XAML的好处:
- XAML与XML语法相似。
- XAML代码更小且更易于执行。
- 与其他代码相比,XAML代码易于理解。
- 使用XAML而不是代码可以更轻松地设计UI。
- 我们可以期望UI(XAML)和UI逻辑(C#)之间有清晰的分隔。
- 设计人员和开发人员的角色是不同的。
为什么使用XAML?
在XAML中布局用户界面很容易。当使用XAML在页面上布局可视树控件时,应用程序将变得显而易见并且可以快速制作出来。
XAML数据绑定:
<标签文字=“ {Binding FirstName}” />
C#数据绑定:
标签firstNameLabe; l = new Label();
firstNameLabel.SetBinding(Label.Text,“ FirstName”);
上面的示例证明XAML易于理解和阅读。如果控件是数据绑定到视图模型中的属性的,则XAML语法比C#语法干净得多。 Xamarin还已在Xamarin Studio和Visual Studio中引入了新版本的“ XAML预览器”。借助此工具,用户可以在IDE中查看UI。
XAML页面的外观如何?
<? xml版本=“ 1.0”编码=“ utf-8”?>
<ContentPage xmins=http://xamarin.com/schemas/2014/forms
xmlns:x=http://schemas/microsoft.com/winfx/2009/xaml
xmlns:local =“ clr-namespace:XamarinFifecycle”
x:Class =“ XamarinLifecycle.MainPage”>
<StackLayout>
<!-在此处放置新控件-!>
<标签文字=“欢迎使用Xamarin.Forms!”
HorizontalOptions =“居中”
VerticalOptions =“ CenterAndExpand” />
</StackLayout>
</ContentPage>
在这里,在开幕<ContentPage>元素,Xaml知道它应该在遇到内容页面时实例化。
镇静特性:
XAML具有两个属性。一个是属性属性,另一个是元素属性。
属性属性在UI组件的标签中声明,并且最容易理解。属性名称将始终是其原始名称,但该值必须是字符串。
例:
<标签文字=“汉堡和薯条”文字颜色=“红色” />
务必始终指定字符串,因为XAML遵循XML规则,这一点很重要。
当值太复杂而无法在简单字符串中解释时,我们使用其他属性,即元素属性。在空白的ContentPage中,该元素属于element属性。它包含页面的其余内容,这些内容无法通过简单的字符串处理。
XAML优于代码的优势:
XAML不需要复杂的维护,并且易于修改。可以借助软件工具轻松地对其进行分析和编辑。有时,与C#代码相比,它可能更简洁。
<StackLayout>
<!-在此处放置新控件-!>
<标签文字=“欢迎使用Xamarin.Forms!”
HorizontalOptions =“居中”
VerticalOptions =“ CenterAndExpand” />
</StackLayout>
您将在XAML中找不到任何类型的循环,控件,代数计算语法或任何类型的事件处理程序。与C#代码相比,这是XAML的缺点,因为C#帮助我们定义了所有这些内容。
反应XAML的工作:
XAML是一种声明性语言。它定义了您想要执行的操作以及执行的方式。 XAML处理器管理HOW部分。 XAML处理器解释XAML文件。它还会转换描述UI元素的XAML代码。首先,内部代码和C#代码通过部分类定义链接在一起,然后.Net编译器构建应用程序。
如何创建XAML应用程序:
- 创建和初始化对象: XAML可以创建和实例化对象。这是描述在程序执行之前如何创建对象以及如何初始化对象的另一种方式。
- 资源: 资源是与多次使用的某个对象相关联的常规定义。它具有为控件或当前窗口本地存储数据或为整个应用程序全局存储数据的能力。
- 样式: XAML框架具有一些功能,可以增强应用程序的整体外观。样式可以设置对象的某些属性,我们还可以在多个对象之间重用这些特定的设置,以保持一致的外观。样式只能设置存在的属性。如高度,粗细,字体大小等。我们只能指定控件的默认行为。我们可以为样式添加多个属性。
- 范本: 模板增强了控件的整体外观。每个控件都有与其关联的默认模板,该模板为该控件提供外观。
- 动画和变换: 像模板一样,此功能还可以通过增强交互性和移动性来改善应用程序的整体外观。我们可以从Windows运行时动画库中找到动画或效果。
使用App.xaml:
App.xaml是应用程序的声明点,并且当您启动新的WPF应用程序时,Visual Studio会自动为您创建它。它还将在名为App.xaml.css的文件后面包含代码。
App.xaml结构:
<应用程序x:Class =“ xyz.App”
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
StartupUri =” MainWindow.xaml”>
<应用程序资源>
</Application.resources>
</Application>
App.xaml.cs结构:
最初,对于新项目,自动生成的App.xaml如下所示:
使用系统;
使用System.collections.Generic;
使用System.windows;
命名空间WpfTutorialSamples
{
公共局部类应用程序:应用程序
{
}
}
要手动创建启动窗口,我们可以执行以下步骤:
<应用程序x:Class =“ xyz.App”
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
启动=“ Application_Startup”>
<应用程序资源>
</Application.resources>
</Application>
在这里,StartupUri被替换为Startup事件。
我们可以在代码隐藏中使用该事件,如下所示:
使用系统;
使用System.collections.Generic;
使用System.windows;
命名空间WpfTutorialSamples
{
公共局部类应用程序:应用程序
{
公共局部类应用程序:应用程序
{
//创建启动窗口
MainWindow wnd =新的MainWindow()
//在这里做一些事到窗户
Wnd.Title =“其他东西”;
// Show the window
Wnd.Show();
}
}
}