日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

      首頁編程開發(fā)其它知識 → 快速掌握WPF XAML的基本概念和基本語法

      快速掌握WPF XAML的基本概念和基本語法

      相關軟件相關文章發(fā)表評論 來源:西西整理時間:2012/11/26 14:18:36字體大。A-A+

      作者:西西點擊:0次評論:0次標簽: WPF

      Actipro WPF Studiov11.1.0541 注冊版
      • 類型:編程控件大。58.9M語言:英文 評分:6.6
      • 標簽:
      立即下載

      本篇從如下兩個方面學習WPF XAML:
      1、基本概念
      2、基本語法

      一、基本概念
      1、XAML是派生自XML的可擴展應用程序標記語言(Extensible Application Markup Language)。微軟創(chuàng)造。應用在WPF,WF,Silverlight,Metro App等開發(fā)技術中。
      2、在WPF中,XAML用來開發(fā)用戶界面。繼承了XML的Tag,Attribute等語法。另有一些語法上的創(chuàng)新。
      3、在WPF中,XAML運行在CLR之上,但它不編譯為IL,而是編譯為BAML代碼,在運行時會被解析成CLR類型(Types)。
      4、WPF中XAML是大小寫敏感的。

      二、基本語法
      1、Tag語法=對象元素(Object Elements)
      每個標簽即是一個對象元素,將被解析為一個WPF Framework(主要來自PresentationFramework.dll)中的類的實例。下面的代碼就是一個對象元素,運行時會被解析為一個Button對象實例。

      <Button></Button>

      或?qū)懗?/p>

      <Button />

      2、Attribute賦值語法

      2.1 普通字符串賦值。下面代碼給Button的Property和Event賦值。字符串將被通過包裝好的TypeConverter來轉換成對象。TypeConverter使用C#的Attribute技術來實現(xiàn)的。

      <Button Content="aaa" Click="Button_Click" />

      2.2 標記擴展賦值。用花括號這種方式賦值就叫標記擴展賦值。常用的地方是在用到綁定和資源的時候。

      <Button Command="{Binding Copy}" />

      2.3 屬性元素賦值。有的時候簡單字符串賦值不了的,就用屬性元素賦值。

      <Button>
          <Button.Content>aaa</Button.Content>                
      </Button>

      2.4 內(nèi)容賦值?丶蠧ontent這個屬性,也就是要繼承自ContentControl這個類,才能這么賦值。夾在標簽中間。

      <Button>aaa</Button>

      2.5 集合賦值。下面例子是給StackPanel.Children這個屬性賦值一個集合,被省略了。這個屬性的類型是UIElementCollection。在這個例子,我們也看到WPF支持一些省略的寫法,在實際開發(fā)中運用,可以使XAML代碼更簡潔。

      <StackPanel>
          <Button>a</Button>
          <Button>b</Button>
      </StackPanel>

      3、命名空間。

      一般用在Root元素上(Application,Window,UserControl,Page,ResourceDictionary等)。如下例子,xmlns為引入命名空間的attribute。第一行xmlns是沒有指定別名的,是默認命名空間,它指定的命名空間包含了微軟提供所有的XAML控件的程序集。第二行xmlns別名是x,也是微軟提供的命名空間,這里面主要包含了一些關于解析Xaml語言的程序集。第三行xmlns是自己引入的,開發(fā)人員自己寫的控件等,可以通過命名空間這種方式引用到XAML文檔來使用。

      <Window x:Class="WpfFirst.MainWindow"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:local="clr-namespace:System;assembly=System"
              Title="MainWindow" Height="350" Width="525">    
      </Window>

      4、附加屬性,附加事件。

      下面例子,Panel.ZIndex就是附加屬性,而附加事件是界面上用不了的。具體在寫屬性和事件時候討論。

      <StackPanel>
        <Button Panel.ZIndex="1">a</Button>
        <Button Panel.ZIndex="2">b</Button>
      </StackPanel>

      5、樹。

      XAML文檔是樹狀結構的。在WPF中,有邏輯樹(Logical Tree)和可視樹(Visual Tree)的概念,在運行時會維護這兩棵樹。邏輯樹是以我們看到的控件為節(jié)點的,這些控件一般繼承與FrameworkElement or FrameworkContentElement,而可視樹能看到控件內(nèi)部的元素,這些元素一般繼承自Visual類。WPF提供了兩個輔助類(LogicalTreeHelper and VisualTreeHelper)來操作這兩棵樹。

        相關評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
        推薦文章

        沒有數(shù)據(jù)