WPF程式設計寶典 XAML

2021-10-02 03:17:18 字數 1723 閱讀 7766

巢狀元素

寫在結尾

從這篇文章開始,我們將正式走入wpf的學習,但是要學好wpf你不僅要了解wpf相關的知識,跟要學好一些輔助的知識點,比如今天講的xaml,xaml是一種標記語言,類似於html,因為我之前幫別人寫過網頁和網頁遊戲,所以對這一塊的理解基本上沒什麼問題,但也僅限於簡單的使用,歸根結底xaml上的每乙個元素(標記)都是乙個類。

xaml是配合wpf使用的,兩者不可混為一談,既然是兩個東西那麼一起使用的時候就一定要有乙個交點,

initializecomponent()就是他們的交點,因為不管是你介面寫的多好看多炫酷,最後還是要編譯成機器語言的,initializecomponent()這個方法就讓後台的邏輯**和前端的標記語言在編譯的時候有了乙個統一性。

wpf程式通過directx執行所有wpf繪圖操作,以便充分利用現代顯示卡的最新功能。

這句話我也不太懂,反正就是適應了現代顯示卡,載入控制項啥的比較快。

每個類都可以有它的屬性,但當我們要設定一些複雜的屬性時,一般的屬性設定方法往往不能滿足我們的要求,上**:

//普通的屬性設定

"blue"

/>

複雜屬性

普通的屬性設定就是這樣,簡單,設定方法簡單,設定的值也很簡單。但是如果我想要有乙個漸變色的效果怎麼辦呢。。。而且漸變是經常用到的背景屬性值,這裡有兩個辦法,第乙個辦法就是使用複雜屬性設定,上**:

//複雜的屬性設定

"0.00" color=

"red"

/>

"0.50" color=

"blue"

/>

"1.00" color=

"green"

/>

<

/lineargradientbrush.gradientstops>

<

/lineargradientbrush>

<

/grid.background>

<

/grid>

複雜屬性其實就是把一般屬性變成新增名稱為parent.propertyname的子元素。

附加屬性

附加屬性也是這章的乙個重點,附加屬性是可用於多個控制項,但在另乙個類中被定義的屬性,也就是原本不屬於自己的屬性,舉個簡單的例子

//附加屬性

>

>

<

/grid.rowdefinitions>

"0"/

>

<

/grid>

xaml中元素處理巢狀元素的機制有三種。一,實現ilist介面;二,實現idictionary介面;三,父元素使用contentproperty進行修飾。但是呢,我去看了一下我寫的專案,好像情況不是這樣的,第三種情況是有的,比如button控制項就有。但是其他兩種情況好像就沒了,變成了實現iaddchild介面。我也不知道是我理解的有問題還是,.net版本更新了,這個暫時作為乙個疑問,等我知道了,在做相應的回答。

這篇文章主要講的是xaml的一些基礎知識點,也有很多沒有講到的,比如事件,因為我們的vs實在太強大了,事件的建立都是半自動的很方便,所以我就沒講。還有一些特殊字元,並不是必要的內容,所以我也沒講,以後如果實戰專案中遇到了,可能會講解一下。其實xaml的主要作用還是分離前後端,這裡的分離前後端不僅僅是**上的分離,更是工作上的分離,乙個好的後端程式設計師能寫出邏輯清晰,條例明確的邏輯**,但是你讓他設計個介面…懂吧,他會給你設計乙個xp的介面出來。

WPF程式設計寶典

在windows窗體程式設計中,窗體中的所有視覺化內容都被稱為控制項,在wpf中,不再如此,視覺化內容被稱為元素 element 只有部分元素是控制項。第二章 xaml rowspan告訴button占用3行 canvas面板適用需要構建其他一些不同的內容,繪圖表面,canvas.zindex附加屬...

WPF程式設計寶典 WPF概述

寫在結尾 這本書買了很久了,花了半年的時間才看完實在是心中有愧,所以決定重新看一遍,邊看邊寫,寫一下書上的東西和一些自己的理解。沒買這本書的同學可以去買一本看看,如果要入門wpf這本書還是挺好用的。今天講的是什麼是wpf,wpf的特點。比較枯燥,有一定基礎的同學可以自行略過。wpf程式通過direc...

WPF程式設計寶典學習筆記目錄

第1章 wpf概述 待寫 第2章 xaml 待寫 第3章 布局 待寫 第4章 依賴屬性 第4章依賴屬性 1 概述 第4章依賴屬性 2 自定義依賴屬性 第4章依賴屬性 3 自定義附加屬性 第4章依賴屬性 4 屬性驗證 第5章 路由事件 第5章路由事件 1 概述 第5章路由事件 2 冒泡路由事件 第5章...