WPF學習01:初始XAML淺析


本文內容: 淺析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系列學習心得正式開寫。。。。。。。

  

      

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM