基礎篇
XAML基礎
1.XAML概述
XAML(Extensible ApplicationMarkup Language)即可擴展應用程式標記語言,是WPF技術中專門用于設計UI的語言,它在桌面開發及富媒體網路程式的開發中扮演了HTML+CSS+JavaScript的角色,是設計師與程式員之間溝通的樞紐,
XAML是一種單純的宣告型語言,它只能用來宣告一些UI元素、繪制UI和影片(在XAML里實作影片是不需要編程的),根本無法在其中加入程式邏輯,這強制地使得邏輯代碼與UI代碼分離,與UI相關的元素統統集中在程式的UI層、與邏輯相關的代碼統統集中在程式邏輯層,形成了一種“高內聚—低耦合”的結構,設計師們使用Blend來設計UI,程式員使用Visual Studio開發后臺邏輯代碼,
2.第一個WPF專案
專案創建
新建專案——選擇WPF.App(.NET Framework)模板——專案命名及位置——創建完成

專案界面
其中默認顯示的界面就是MainWindow.xaml檔案

專案結構

- Properties分支:程式要用到的一些資源(如圖示、圖片、靜態的字串)和配置資訊,
- References分支:當前專案參考的其他專案(列出來的條目是.NET Framework中的類別庫)
- App.xaml分支:程式的主體,宣告程式的行程,同時指定程式的主表單,App.xaml.cs是App.xaml的后臺代碼
- MainWindow.xaml分支:程式的主表單,MainWindow.xaml.cs是其后臺代碼
3.XAML基本代碼
<Window x:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Demo_01_WPF"
mc:Ignorable="d"
Title="MainWindow" Height="173" >
<Grid>
</Grid>
</Window>
XAML是一種基于XML且遵循XML結構規則的語言,它具有層次化的特性,它的元素的組成是一種樹的結構型別,
XAML標簽元素構成:Tag(標簽)+Attribute(屬性)+Content(內容)
XAML標簽的Attribute中一大部分與控制元件物件的Property互相對應,標簽元素意味著宣告了一個物件,物件之間的層級關系可以是并列或包含,都體現在標簽的層級關系上,
在上述代碼當中,<window>是根節點,定義了一個表單物件,<Grid>子標簽,定義了一個Grid物件
在<window>是根節點中:
-
x:Class起宣告作用,當XAML決議器將包含它的標簽決議成C#類后,這個類的類名即為
Demo_01_WPF.MainWindow -
xmlns是XML-Namespace的縮寫,用來定義名稱空間,當來源不同的類重名時,就可以使用名稱空間加以區分,
-
xmlns:x中的x代表映射前綴,xmlns后可以跟一個可選映射前綴,中間用冒號分隔,
-
Title、Height、 Width是表單屬性
沒有映射前綴的名稱空間稱為“默認名稱空間”,默認名稱空間只能有一個,應選擇最頻繁使用的元素的名稱空間作為默認名稱空間,這樣在使用相應的標簽時就不用再寫映射前綴,如下圖

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
第一個名稱空間對應的是與繪制UI相關的程式集,是表示(Presentation)層面上的東西;
第二個名稱空間對應的是XAML語言決議處理相關的程式集,是語言層面上的東西;
雖然名稱空間看起來像網頁URL鏈接,實際上,這是XAML決議器的一種硬性編碼(hard-coding),這些固定的字串會把一系列必要的程式集(Assembly)和程式集中包含的.NET名稱空間參考進來,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/492433.html
標籤:WPF
