溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

XAML文件結構與解析XAML的示例分析

發(fā)布時間:2021-12-21 13:44:34 來源:億速云 閱讀:213 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章主要介紹XAML文件結構與解析XAML的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

XAML文件結構

我們創(chuàng)建XAML文件后,會看到類似圖1.16所示的結構

XAML文件結構與解析XAML的示例分析

圖1.16  結構

其中,.xaml文件和.xaml.cs文件就是XAML文件的結構。以下就是對這兩個文件的介紹。

  •   .xaml文件中包含的就是XAML代碼,實際上就是XML語法。官方的說法:它是一個聲明對象的語言,為我們創(chuàng)建對象提供便捷的一種方式。與HTML類似,特點是用來描述用戶接口 (UI)內容。

  •  通常我們把與.xaml文件關聯(lián)的.xaml.cs文件叫作代碼隱藏文件。如果開發(fā)者引用.xaml中的任何一個事件(如Button的Click 事件),,將在這個文件中編寫對應的事件處理代碼。

解析XAML

在上文中我們創(chuàng)建XAML文件后,會看到類似以下3種代碼。

(1)第一種是使用Visual Studio創(chuàng)建項目后創(chuàng)建XAML文件顯示的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"

  •              x:Class="Hello.XAMLPage">

  •   <Label Text="{Binding MainText}" VerticalOptions="Center" HorizontalOptions="Center" />

  • </ContentPage>

(2)第二種是使用Xamarin Studio創(chuàng)建項目后創(chuàng)建XAML文件顯示的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"

  •                         x:Class="Hello.MyPage">

  •          <ContentPage.Content>

  •          </ContentPage.Content>

  • </ContentPage>

(3)第三種是在創(chuàng)建項目的同時創(chuàng)建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:Hello"

  •              x:Class="Hello.MainPage">

  •   <Label Text="Welcome to Xamarin Forms!"

  •            VerticalOptions="Center"

  •            HorizontalOptions="Center" />

  • </ContentPage>

這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"

  •              x:Class="Hello.MainPage">

  • </ContentPage>

以下就是對XAML公共默認的部分進行說明。

  1.  第一行是對XML簡單的說明,其中包含了XML版本號以及編碼格式。

  2. 第二行代碼至最后一行代碼的功能是構建界面所需要的內容。其中,第二行和第三行使用兩個XML命名空間(xmlns)聲明引用了URL。開發(fā)者不需要知道這些URL指向的具體內容。他們只是Xamarin和Microsoft擁有的URL,它們基本上充當版本標識符。第一個XML命名空間聲明意味著在XAML文件中定義了沒有前綴的標簽,它引用Xamarin.Forms中的類,如ContentPage。第二個命名空間聲明定義了x的前綴,它用于XAML本身固有的幾個元素和屬性,(理論上)由XAML的所有實現(xiàn)支持。

注意:這些元素和屬性根據(jù)嵌入在URL中的年份略有不同。Xamarin.Forms支持2009 XAML規(guī)范,但不是所有的。

  1. 第四行代碼。在聲明x前綴之后,該前綴立即用于名為Class的屬性,這是因為使用這個x前綴在XAML文件中非常普遍。例如,Class簡稱為x:Class。x:Class指定.NET類名稱。

注意:x:Class屬性只能出現(xiàn)在XAML文件的根元素中,以定義派生的C#類。

對于x:Class指定類的定義,開發(fā)者可以在.xaml.cs文件中看到,代碼類似于以下代碼:

  • using System;

  • using System.Collections.Generic;

  • using System.Linq;

  • using System.Text;

  • using System.Threading.Tasks;

  • using Xamarin.Forms;

  • namespace Hello

  • {

  •     public partial class MainPage : ContentPage

  •     {

  •         public MainPage()

  •         {

  •             InitializeComponent();

  •         }

  •     }

  • }

注意:x:Class的值所指示的類型在聲明的時候必須使用partial關鍵字。這樣由XAML解析成的類和.xaml.cs文件里定義的部分就合二為一了。正是由于這種partial機制,我們可以把類的邏輯代碼留在.xaml.cs文件中,并用C#語言來實現(xiàn),而把那些于聲明及布局UI元素相關的代碼分離出來,實現(xiàn)UI以邏輯分離。

以上是“XAML文件結構與解析XAML的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI