一.从零认识XAML

一.XMAL的简单了解

XAML读做zaml,,它是WPF中专门用于设计UI的语言,它简单易懂,结构清晰。是一种声明式语言,当你见到一个标签时,就意味着声明了一个对象;对象之间的层级关系要么是并列,要么是包含,全都体现在标签的关系上。 它的出现带来以下几点优势:

(1)无论是软件的功能还是UI设计有所变化导致bug的出现,都不会导致大量代码的修改。

(2)会让逻辑代码更容易理解

(3)它能够使视图(UI)与逻辑代码的分离,实现一种“高内聚低耦合”的结构。

二.新建WPF项目

以上是项目文件中包含的内容

下面简单介绍一下这些分支都是用于做什么的

(1)Properties:它的内容主要是程序需要的一些图标,图片,静态字符串和配置信息。

(2)References(引用):标记了当前项目中引用了哪些其他的项目,里面都是.NET Framewok中的类库。

(3)App.xml:程序的主体,App.xml文件的作用就是声明了程序的进程会是谁,同时指定了程序的主窗体是谁,它还有一个文件——App.xml.cs,它是App.xml的后台代码

(4)MainWindow.xml:程序的主窗体。

 三.最简单的XAML代码

<Window x:Class="MyFirstWpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        
    </Grid>
</Window>

可以在XMAL文件的标签上使用xmlns特征来定义名称空间(Namespace),xmlns也就是XML-Namespace的缩写,其语法如:xmlns[:可选的映射前缀]="名称空间";xmlns后可以跟一个可选的映射前缀,之间用冒号分隔。如果没有

写可选映射前缀,那就意味这所有来自这个名称空间的标签前都不用加前缀,这个没有映射前缀的名称空间称为“默认名称空间”——默认名称空间只能有一个,上面的XAML代码中,<Window>和<Grid>都来自由第二行声明的默认空间

而第一行中的Class特征则来自于第三行中的x:前缀对应的名称空间。如果给第二行声明的名称空间加上一个前缀,比如N,那么XAML代码就必须改成这样才能编译通过:

<N:Window x:Class="MyFirstWpf.MainWindow"
        xmlns:N="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <N:Grid>
    </N:Grid>
</N:Window>

另外,xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation"对应的是与绘制UI相关的程序集;

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"对应的是XAML语言解析处理相关的程序集。

为了表示同类标签中某个标签的与众不同,可以给它的特征(Attribute)赋值,为特征赋值的语法如下:

<Tag Attribute1=Value1 Attribute2=Value2>

另外需要了解Attribute和Property的区别

(1).Property属于面向对象的,在使用面向对象的思想时,则需要把客观事物进行抽象,再把抽象出来的结果封装成类,类中用来表示事物状态的成员就是Property。

(2).Attribute则是编程语言文法上的,打个比喻来说;如果有两个同类的语法元素A和B,为了区分它们,那么这个时候则需要针对A和B加一些Attribute,也就是说Attribute只与语言层面上的东西相关,与抽象出来的对象没啥关系。

因为Attribute是为了表示区分的,所以把它称为“特征”。

 四.XML文件中导入程序集和引用其中的名称空间

假设我的类库程序集名为MyLibrary.dll,其中包括Common和Controls两个名称空间,而且已经把这个程序集引用进WPF项目,那么在XAML中引用其中的名称空间的方法是:

xmlns:映射名=“clr-namespace:类库中名称空间的名字;assembly=类库文件名”

对于MyLibrary.dll里的两个名称空间,XAML中的引用会是:

xmlns:commom="clr-namespace:Common;assembly=MyLibrary"

xmlns:controls="clr-namespace:Controls;assembly=MyLibrary"

如果要使用Common和Conyrols中的类,则代码是这样的

<common:MessagePanel x:Name="window1">

<controls:LedButton x:Name="button">

 

转载于:https://www.cnblogs.com/QingYiShouJiuRen/p/10300697.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Xamarin.Forms是一款用于跨平台移动应用开发的开发框架,可以通过编写XAML代码来快速创建用户界面。XAML是一种声明性的语言,可以简化开发过程,提高开发效率。 首先,使用Xamarin.Forms的XAML可以帮助我们快速构建用户界面。通过简单的标记语言,我们可以以一种直观的方式描述应用程序的用户界面。无论是按钮、标签、文本框还是其他常见的用户界面元素,我们只需要在XAML中声明它们,并设置相应的属性,就可以快速创建它们。这样,我们就不需要手动编写复杂的代码来创建和布局界面元素。 其次,XAML还支持数据绑定,这对于快速开发非常有帮助。通过将界面元素的属性绑定到数据源,我们可以实现数据与界面的自动关联。这样,在数据发生变化时,界面元素会自动更新。这对于展示实时数据或根据用户输入改变界面元素状态非常有用,可以大大缩减编写和维护代码的工作量。 此外,XAML还支持样式和模板,可以进一步提高开发效率。通过定义样式,我们可以统一应用程序中的界面元素的外观和行为,使应用程序具有一致的风格。而使用模板,我们可以创建可重用的界面部件,使得开发者可以高效地创建复杂的界面。 综上所述,Xamarin.Forms的XAML具有简单直观的语法,支持快速创建用户界面、数据绑定、样式和模板等功能,极大地提高了开发效率。因此,我们可以利用Xamarin.Forms的XAML来快速构建跨平台移动应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值