本文內容: 淺析WPF應用默認創建的XAML中元素、attributes。
新建WPF工程“HelloWPF”.
初始創建的主窗體XAML代碼如下:
<Window x:Class="HelloWPF.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>
初始代碼元素部分:
Window:同HTML,XML一樣,XAML也有頂層元素。與HTML不同的是,XAML頂層元素有三個可選項,分別是:Window,Page(用於導航應用中,典型:WINDOWS PLAYER),Application。
很典型的Application就是同樣WPF工程中默認創建的,App.xaml。用於定義整個應用用到的資源,並進行一些初始化操作。\
通過Application的StartupUri,我們指定了應用的啟動窗口。
修改App.xaml.cs代碼如下:
public partial class App : Application { public App() { } }
Debug,分別在App與MainWindow的構造函數中加入斷點,即能發現App將首先被調用。現在把App.xaml刪掉,是會出問題的,所以,如果強迫症發作。。。百度相關方法就好了。
Grid:是WPF 的一種Layout Control,WPF提供了多個Layout Control:StackPanel、WrapPanel、Canvas。。。相比傳統的桌面程序開發僅僅提供了絕對定位的原生支持,多種布局方式給了我們更多發揮的余地。
初始代碼Attributes部分:
Xmlns:默認兩個URL其實並不是引發一個HTTP請求,申請相關的庫文件。而是由一個特定URL到多個CLR命名空間,之所以要用這種一對多的映射是:不這樣做XMAL的可讀性將會很大的降低。
我們可以把XAML改成這樣:
<NameSpace1:Window NameSpace2:Class="HelloWPF.MainWindow" xmlns:NameSpace1="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:NameSpace2="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <NameSpace1:Grid> </NameSpace1:Grid> </NameSpace1:Window>
結論如下:
1.xmlns:XXX XXX是XAML中對相關命名空間的別名。
2.接1,當XXX為空時,即為XAML默認命名空間。
當我們希望在XAML中引入其它的命名空間需要怎么做呢,如圖,創建了一個C# DLL 工程“Utility”,在HelloWPF中對其添加了引用。
在WPF中引用該命名空間只需要:
xmlns="clr-namespace:Utility;assembly=Utility"
Class:借助partial關鍵字,我們可以在多個地方同時編輯同一個類,比如說我們可以寫出這樣的代碼:
public partial class MainWindow : Window { public int Key { get; set; } } public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Key = 10; } }
通過指定class,WPF初始創建的MainWindow.xaml 與 MainWindow.xaml.cs即能很好共同編輯MainWindow啦。
Title:程序的標題
Height, Width: 顧名思義。。。
WPF系列學習心得正式開寫。。。。。。。