XAML的对象元素的声明有两种形式,分别为包含属性的特性语法形式以及对象元素语法形式。在1.4小节中,我们看到了其中一种对XAML对象元素的声明方式,以下将讲解两种对对象元素的声明方式。
包含属性的特性语法形式
在XAML中如果是单个元素对象,可以使用包含属性的特性语法形式对这个元素对象进行声明,其语法形式如下:
<object …… />
其中,object是Xamarin.Forms中提到的对象,对象元素的声明是以“<”开始,并以“/>”结束。在XAML中使用这种方式可以将Xamarin.Forms中的对象实例化化为XML格式的对象元素。
注意:在XAML中以“<”开始,并以“/>”结束的内容称为标签
【示例1-1:ObjectElementDeclarationOne】以下将使用该语法形式声明一个Label元素对象。代码如下:
<?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:ObjectElementDeclarationOne"
x:Class="ObjectElementDeclarationOne.MainPage">
<Label Text="Welcome to Xamarin Forms!"
FontAttributes="Bold"
FontSize="Large"
VerticalOptions="Center"
HorizontalOptions="Center" />
</ContentPage>
注意:在对象元素中的这些属性可以放在一行进行写,也可以分行进行写。
对象元素语法形式
在XAML中第二种声明对象元素的方式是使用对象元素语法形式,其语法形式如下:
<object>
……
</object>
其中,object是Xamarin.Forms中提到的对象,对象元素的声明使用开始标签和结束标签将对象实例化化为XML格式的元素。在XAML中,如果在对象元素中还包含其它对象元素时,最好使用这种方式。
注意:在XAML中以“<”开始以“>”结束的代码称为标签。
【示例1-2:ObjectElementDeclaration】以下将使用该语法形式声明一个StackLayout对象元素,在StackLayout对象元素中包含了3个标签对象元素,对于标签对象元素的声明,我们使用包含属性的特性语法形式进行声明。代码如下:
<?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:ObjectElementDeclaration"
x:Class="ObjectElementDeclaration.MainPage">
<StackLayout>
<Label Text="Welcome to Xamarin Forms!"
FontAttributes="Bold"
FontSize="Large"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center" />
<Label Text="Welcome to Xamarin Forms!"
FontAttributes="Bold"
FontSize="Large"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center" />
<Label Text="Welcome to Xamarin Forms!"
FontAttributes="Bold"
FontSize="Large"
VerticalOptions="CenterAndExpand"
HorizontalOptions="Center" />
</StackLayout>
</ContentPage>