XAML(Extensible Application Markup Language的簡寫,發音爲「zammel」)是用於實例化.NET對象的標記語言。儘管XAML是一種應用於諸多不一樣問題領域的技術,但其主要做用是構造WPF用戶界面。換言之,XAML文檔定義了在WPF應用程序中組成窗口的面板、按鈕以及各類空間的佈局。瀏覽器
實際上術語「XAML」有多種含義。到目前爲止,咱們使用XAML標識整個XAML語言,它是一種基於通用XML語法、專門用於表示一顆.NET對象樹的語言(這些對象能夠是窗口中的按鈕、文本框,或是已經定義好的自定義類。)佈局
XAML還包含以下幾種:動畫
一旦理解了一些基礎規則,XAML標準是很是簡單的:spa
使用VS2012建立一個WPF項目。默認生成主窗體的XAML代碼以下所示:插件
1 <Window x:Class="WpfApplication1.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 Title="MainWindow" Height="350" Width="525"> 5 <Grid> 6 7 </Grid> 8 </Window>
該文檔僅包含兩個元素——頂級的Window元素以及一個Grid元素,Window元素表明整個窗口,在Grid元素中能夠放置全部控件。儘管可使用任何頂級元素,可是WPF應用程序只使用如下幾個元素做爲頂級元素:code
與在全部XML文檔中同樣,在XAML文檔中只能有一個頂級元素。在上例中,意味使用</Window>標籤關閉了Window元素,文檔就結束了。視頻
2.一、XAML名稱空間xml
XAML解析器須要知道類位於哪一個.NET名稱空間。例如,在許多名稱空間中可能都有Window類——Windowm類多是指System.Windows.Window類,也多是指位於第三方組件中的Window類。爲了弄清實際上但願使用哪一個類,XAML解析器會檢查應用於元素的XML名稱空間。對象
上面顯示的示例文檔定義了兩個名稱空間:blog
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns特性是XML中的一個特殊特性,它專門用來聲明名稱空間,這段標記聲明瞭兩個名稱空間,在建立的全部WPF XAML文檔中都會使用這兩個名稱空間:
2.2 代碼隱藏類
可經過XAML構造用戶界面,但爲了使應用程序具備必定的功能,就須要用於鏈接包含應用程序代碼的事件處理程序的方法。XAML經過使用以下所示的Class特性簡化了這個問題:
<Window x:Class="WpfApplication1.MainWindow">
在XAML名稱空間的Class特性以前放置了名稱空間前綴x,意味着這是XAML語言中更通用的部分。實際上,Class特性告訴XAML解析器用指定的名稱生成一個新類。該類繼承自由XML元素命名的類。換句話說,該實例建立了一個名爲MainWindow的新類,該類繼承自Window基類。