wpf 基本控制項使用介紹

本文大綱

1、基本控制項介紹與用法。

基本控制項介紹與用法文本控制項Label控制項

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

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

TextBlock控制項

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

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

TextBox

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

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

PassWordBox

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

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

數據控制項DataGrid

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

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

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

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

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

ListView

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

ListBox

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

具體的效果如下:

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

ListBox還可以達到如下效果。

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

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

GroupBox

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

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

其他簡單控制項幾類基本控制項

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

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

幾個複雜控制項RichTextBox

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

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

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

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

當然,我們還可以這樣:

我們運行下看看效果。

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

MediaElement

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

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

Menu

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

這裡對Menu的樣式不做任何的定製和管理

下面來對Menu進行測試:

將Menu添加到頁面中

運行後,效果如下:

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

TabControl

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

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

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

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

推薦閱讀:

控制不了體重,何以控制人生
四種最不講理的女人面相, 控制欲強, 喜歡多管閑事, 婚姻難幸福!
高血壓不控制,血管喊救命!降壓,試試這兩件寶貝!
能控制生男生女的方法只有一個,但是......
男人愛你情難自禁,才會控制不住說這5句話!

TAG:控制 | 介紹 | 控制項 |