WPF Step By Step 控件介紹


回顧

        上一篇,我們主要討論了WPF的幾個重點的基本知識的介紹,本篇,我們將會簡單的介紹幾個基本控件的簡單用法,本文會舉幾個項目中的具體的例子,結合這些例子,希望我們可以對WPF的掌握會更深刻。本文涉及的內容可能較多。請大家慢慢看看。錯誤之處,還請指出。

本文大綱

1、基本控件介紹與用法。

基本控件介紹與用法

 

文本控件

Label控件

label控件:一般用戶描述性文字顯示。

image        

在Label控件使用時,一般給予用戶提示。用法上沒有什么很特殊的,label控件的值記住:不是Text 而是 Content屬性。

TextBlock控件

TextBlock控件,是只讀的文本框,無法進行編輯,比較適合顯示文本,該文本內容不允許編輯的情況。

image

TextBlock進行設置值的屬性是Text 支持直接賦值和數據綁定的方式賦值。

 

TextBox

TextBox是支持編輯的基本控件,我們平時不管是開發BS或者是CS的桌面應用,該控件的使用,應該都不陌生。我這里只介紹幾個簡單的屬性,因為在具體的項目開發過程中可能會用到:

image

上述介紹的屬性,在實際的項目中基本上是都要使用的。更多的使用方法,具體在后面的例子中體現

PassWordBox

一般該文本框,用於用戶輸入驗證或者注冊時使用,對於其他模式下,很少使用該控件。

image

對於具體的用法,一般在用戶注冊或者賬戶信息管理時。

數據控件

 

DataGrid

DataGrid 是WPF中最常用的列表數據顯示控件,該控件功能強大,並且擁有強大的可定制性,下面我們就來看看。

image

上面給出的是dataGrid的基本屬性,下面我們通過設置樣式,來設置下DataGrid的基本樣式:

image

關於觸發器,涉及的內容比較多,不過呢,原理和用法都差不多,都是通過設置觸發器觸發的條件,內部就是進行相關屬性的設置或者進行一些動畫和效果。

image

關於表格中具體列的定義如下:

image

關於DataGrid表格的定義就基本完成了,具體的用法,我們在后面的MVVM中會大量的使用該控件。

ListView

image

一般ListView都可以通過DataGrid來替代。

ListBox

ListBox 下來列表級控件,是項目中比較常用的,該控件通過重寫控件等方式,對項目中使用了特效方面特別有幫助。

image

具體的效果如下:

image

要想實現比較好的界面效果,那么必須通過自定義控件模板來實現。對於數據模板,更多是設置數據類型的控制,對於特殊的界面樣式,必須是二者的結合,通過控件模板中的樣式的設置來達到效果。

ListBox還可以達到如下效果。

image

都可以通過樣式和觸發器等結合使用達到我們對效果的控制。

ComboBox與ListBox基本上差別不大,所以,這里再不做詳細介紹。

 

GroupBox

GroupBox用於組織頁面相關元素放到一起,方便用戶使用等方面提供幫助。

image

其他的用法,就和布局容器一樣,因為其內部默認是加入了Grid。

其他簡單控件

 

 

 

 

 

 

 

 

 

 

 

幾類基本控件

我們這里介紹幾個基本控件, 關於控件的用法比較簡單,例如如下方式:

image

上面介紹的屬性,明白即可,具體的用法與winform中的部分控件,沒有什么差別,所以這里暫不介紹具體的用法了。

 

幾個復雜控件

RichTextBox

RichTextBox比較的強大,支持富文本和簡單文本等,可以實現出類似Word的那樣的效果。

image

下面我們來看看我們來自定義一個帶有Text屬性的RichTextBox的后台代碼定義

image

image

這樣,我們就通過依賴屬性,封裝了一個簡單的依賴屬性,下面我們通過綁定來設置和獲取當前富文本的值

image

這樣,我們就可以顯示富文本控件的內容了。

當然,我們還可以這樣:

image

我們運行下看看效果。

image

還可以對RichTextbox繼續封裝,直接加載Word等,作出類似Word效果的文本編輯器。

MediaElement

MediaElement提供了對媒體文件的操作和訪問:

image

我們在具體的使用中,只需使用SetPlayFile。設置文件的資源路徑,然后點擊Play即可開始播放。具體的用法,我這里就不在給出具體例子,后續本例的代碼,我會提供出來。

Menu

Menu提供了菜單欄方式的多級菜單的管理和操作:

image

這里對Menu的樣式不做任何的定制和管理

下面來對Menu進行測試:

將Menu添加到頁面中

image

運行后,效果如下:

image

這里沒有考慮界面效果和樣式。

TabControl

TabControl是非常常見和有用的控件,例如我們使用的LiveWriter的下方的這部分:

image

我們就可以通過頁簽的方式來實現。

image

可以看出來TabControl特別的簡單,很容易使用,對我們來說也必將常用。特別是像瀏覽器多頁簽打開時,我們如果仿制,那么也可以使用該控件達到目標:

image

我們只要進行深度的定制,即可達到效果。

 

 

 

 

 

 

 

 

 

 

 

 

 

其他未介紹的控件

像WebBrowser、TreeView我准備在后續的模板等章節的時候,會涉及到該部分的內容,所以,我這里就先不講解了。

總結

         本文只是簡單的介紹了幾個重要控件的基本用法,沒有給出實際項目中的使用案例,本文對上面的用法提供下載,其實都是比較簡單,我沒有寫出來具體的運行的案例,在講解后續章節中,我將會深入結合一個具體的案例來說明如何使用它們,並且集合之前項目的經驗來分析下控件的使用心得。


免責聲明!

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



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