




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、TCSS V1.0 WPF學(xué)習(xí)之控件與規(guī)劃 TCSS V1.0 控件究竟是什么?q 程序的本質(zhì)就是“數(shù)據(jù)+算法-用戶輸入原始的數(shù)據(jù),算法處置原始數(shù)據(jù)并得到結(jié)果數(shù)據(jù)。問題就在于程序如何將結(jié)果數(shù)據(jù)顯示給用戶。同樣一組數(shù)據(jù),他可以運用LED陣列顯示出來,或者以命令行方式借助各種格式控制符(如TAB)對齊并輸出,但這些都不如圖形界面(GUI Graphic User Interface)來的友好和方便。GUI的方便在于它對數(shù)據(jù)展現(xiàn)的直觀性,程序員可以經(jīng)過編程的方式將數(shù)據(jù)經(jīng)過圖形的方式展現(xiàn)出來,從而防止了用戶面對一大堆復(fù)雜數(shù)據(jù)的苦楚。提高了任務(wù)效率,普及了計算機的操作。TCSS V1.0q GUI是程序
2、界面的優(yōu)勝者,在Windows上實現(xiàn)圖形用戶界面有很多種方法,每種方法又都有本人的一套開發(fā)理念和工具。每種GUI開發(fā)方法與它的理念和工具共同組成了一種方法論,常見的有:q Windows API(Win API):調(diào)用Windows的底層繪圖函數(shù),運用C言語,最原始也是最根底的。q Microsoft Foundition Class(MFC):運用C+言語將最原始的Win32 API封裝成控件類。q Visual Component Library(VCL):Delphi和C+ Builder運用的與MFC相近的控件類庫。q Visual Basic+ActiveX(VB6):運用組件化的思
3、想把Win32 API封裝成控件,以期與多種言語共用。q Java Swing/AWT:Java SDK中用于跨平臺開發(fā)的控件類庫。q Windows Form:.NET平臺上用于開發(fā)GUI的老牌勁旅,完全組件化,但是需求運轉(zhuǎn)時支持。q Windows Presentation Foundition(WPF):后起之秀,運用全新的數(shù)據(jù)驅(qū)動UI理念。TCSS V1.0q 縱覽Windows GUI開發(fā)歷程,這些方法論可以分為4代:q Win API時代:函數(shù)調(diào)用+音訊處置。q 封裝時代:運用面向?qū)ο罄砟顚in API封裝成類,由來自UI的音訊驅(qū)動程序處置數(shù)據(jù)。q 組件化時代:運用面向組件理念在
4、類的根底上分裝成組件;音訊被封裝成了事件。變成事件驅(qū)動。q WPF時代:在組件的根底上,運用專門的UI設(shè)計言語并引入數(shù)據(jù)驅(qū)動UI的理念。TCSS V1.0q WPF之所以會被稱做是新一代關(guān)鍵有兩點:第一,之前幾代GUI只是運用編程言語進展UI設(shè)計,而WPF有本人專門設(shè)計UI的言語XAML。第二:前幾代的UI在和數(shù)據(jù)交互上都是由Windows音訊到控件事件一脈相承,一直把UI控件放在主導(dǎo)位置而數(shù)據(jù)處于被動位置,用UI來驅(qū)動數(shù)據(jù)的改動,WPF在事件驅(qū)動的根底上引入了數(shù)據(jù)驅(qū)動的理念,讓數(shù)據(jù)重歸中心位置讓UI回歸數(shù)據(jù)表達者的位置。q UI是讓用戶可以察看數(shù)據(jù)和操作數(shù)據(jù),為了讓用戶察看數(shù)據(jù),我們需求用U
5、I來顯示數(shù)據(jù);為了讓用戶可以操作數(shù)據(jù),我們需求運用UI來響運用戶的操作。WPF中那些可以展現(xiàn)數(shù)據(jù)響運用戶操作的UI元素稱之為控件Control。控件所展現(xiàn)的數(shù)據(jù),我們稱之為控件的“數(shù)據(jù)內(nèi)容。控件在響運用戶的操作之后會執(zhí)行本人的一些方法或以事件的方式通知運用程序,我們稱之為控件的行為或算法內(nèi)容??梢奧PF中的控件扮演著雙重角色,是個非?;\統(tǒng)的概念。-Control是數(shù)據(jù)和行為的載體。而無需具有固定的籠統(tǒng)。TCSS V1.0WPF的內(nèi)容模型q 所謂物以類聚,根據(jù)能否可以轉(zhuǎn)載內(nèi)容,可以裝載什么樣的內(nèi)容,WPF中的內(nèi)容可以分為以下幾種類型:TCSS V1.0q 可以把控件想象成一個容器,容器中的內(nèi)容就
6、是控件的內(nèi)容??丶膬?nèi)容可以直接是數(shù)據(jù),也可以是控件。當(dāng)控件的內(nèi)容還是控件的時候就構(gòu)成了控件的嵌套,所以WPF中的UI會呈現(xiàn)出一種樹形構(gòu)造。假設(shè)不思索控件內(nèi)部的樹形構(gòu)造,只察看用控件組成的樹,那么這棵樹稱為邏輯樹(Logical Tree);WPF控件往往是由更根本的控件構(gòu)成的,即控件本身就是一棵樹,假設(shè)連控件本身的樹都思索在內(nèi),這棵樹比邏輯樹更繁茂,這棵樹被稱為可視元素樹(Visual Tree)。q 控件是內(nèi)存中的對象,控件的內(nèi)容也是內(nèi)存中的對象。控件經(jīng)過本人的某個屬性援用著其作為內(nèi)容的對象。這個屬性稱為內(nèi)容屬性。內(nèi)容屬性是個統(tǒng)稱,詳細(xì)到某個控件的時候,內(nèi)容屬性都有本人確切的名字-有的直接
7、叫Content,有的叫Child;有些控件的內(nèi)容可以是集合,其內(nèi)容屬性有叫Items或叫Children的。TCSS V1.0各內(nèi)容模型詳解q 我們把符合某類類容模型的元素稱為一個族,每個族用它們共同的基類來命名。q ContentControl族q 該族控件有以下特點q 均派生自ContentControl類。q 它們都是控件。q 內(nèi)容屬性的稱號是Content。q 只能由單一內(nèi)容充任其內(nèi)容。TCSS V1.0q HeaderedContentControlq 該族控件有如下特點q 均派生自HeaderedContentControl類,HeaderedContentControl是Con
8、tentControl的派生類。q 它們都是控件,用于顯示帶標(biāo)題的數(shù)據(jù)。q 除了用于顯示主體內(nèi)容的區(qū)域外,控件還有一個顯示標(biāo)題的區(qū)域。q 內(nèi)容屬性為Content和Header。q 無論是Content還是Header都只允許一個元素作為器內(nèi)容。TCSS V1.0q ItemControl族q 特點:q 均派生自ItemControl類。q 它們都是控件,用于顯示列表化的數(shù)據(jù)。q 內(nèi)容屬性為Items或者ItemsSource。q 每種ItemControl都對應(yīng)著本人的條目容器(Item Container)。TCSS V1.0q HeaderedItemControlq 本族控件不光要具備
9、ItemControl的特性外,還要具有顯示標(biāo)題的才干。q 該族控件有以下特點:q 均派生自HeaderedItemControl類。q 它們都是控件,用于顯示列表化的數(shù)據(jù),同時可以支持顯示一個標(biāo)題。q 內(nèi)容屬性為Items,ItemsSource和Header。q 本族控件只需3個:MenuItem、TreeViewItem、ToolBar。TCSS V1.0q Decorator族q 本族元素是在UI上起裝飾效果的。本族元素特定如下:q 均派生自Decorator類。q 起UI裝飾作用。q 內(nèi)容屬性為Child。q 只能有單一內(nèi)容充任其內(nèi)容。TCSS V1.0q TextBox和TextB
10、lock。q 這兩個控件最主要的功能就是顯示文本。TextBlock只能顯示文本,不能被編輯,所以又稱為靜態(tài)文本。TextBox那么允許用戶編輯里面的內(nèi)容。TextBlock雖然不能編輯內(nèi)容,但是可以運用豐富的印刷級的格式控制標(biāo)志顯示出專業(yè)的排版效果。q TextBox不需求太多的格式顯示,所以它的內(nèi)容就是簡單的字符串,內(nèi)容屬性為Text。q TextBlock由于需求操作格式,所以內(nèi)容屬性是Inlines(印刷中的“行),同時TextBlock也保管了一個Text屬性,當(dāng)顯示一個簡單的字符串,可以運用這個屬性。TCSS V1.0q Shape族元素。q 友好的界面離不開圖形的搭配,Shape
11、族元素就是專門用來在UI上繪制圖形的一類元素。這類元素沒有本人的內(nèi)容,我們可以運用Fill元素為其設(shè)置填充效果,還可以運用Stroke屬性為它們設(shè)置邊線效果。q 本族元素特定如下:q 均派生自Shape類。q 用于2D圖像的繪制。q 無內(nèi)容屬性。q 運用Fill設(shè)置填充,運用Stroke設(shè)置邊線。TCSS V1.0q Panel族元素q 本族元素特點如下:q 均派生自Panel類。q 主要功能是控制UI規(guī)劃。q 內(nèi)容屬性為Children。q 內(nèi)容可以是多個元素,Panel將控制它們的規(guī)劃。TCSS V1.0q UI規(guī)劃(Layout)q WPF作為專業(yè)的界面技術(shù),規(guī)劃功能是它的中心技術(shù)之一。
12、友好的用戶界面和良好的用戶體驗離不開設(shè)計精良的規(guī)劃。日常任務(wù)中,WPF設(shè)計師最大的任務(wù)量就是規(guī)劃和動畫。除了點綴型的動畫之外,大部分規(guī)劃都是動畫間的轉(zhuǎn)換,UI規(guī)劃的重要性可見一斑。規(guī)劃是靜態(tài)的,動畫是動態(tài)的,用戶體驗就是用戶在這動靜之中與軟件功能產(chǎn)生交互式的感受TCSS V1.0q 規(guī)劃元素q Grid:網(wǎng)格。可以自定義行和列并經(jīng)過行列的數(shù)量、行高列寬來調(diào)整控件的規(guī)劃。近似于Html中的table。q StackPanel:棧式面板。可將包含的元素在程度或垂直方向排成一條線,當(dāng)移除一個元素后,后面的元素會自動向前填充空缺。q Canvas:畫布。內(nèi)部元素可以運用以像素為單位的絕對坐標(biāo)進展定位,
13、類似于Windows Form的規(guī)劃方式。q DockPanel:泊靠式面板。內(nèi)部元素可以選擇泊靠的方向,類似于Winform中設(shè)置控件的Dock屬性。q WrapPanel:自動折行面板。內(nèi)部元素在排滿一行后可以自動折行,類似于Html中的流式規(guī)劃。TCSS V1.0q Gridq 特點:q 可以定義恣意數(shù)量的行和列,非常靈敏。q 行的高度和列的寬度可以運用絕對值、相對比例或自動調(diào)整的方式進展準(zhǔn)確設(shè)定,并可以設(shè)置最大和最小值。q 內(nèi)部元素可以設(shè)置本人所在的行和列,還可以設(shè)置本人縱向跨幾行,橫向跨幾列。q 可以設(shè)置Children元素的對齊方向。q 基于以上這些特點,Grid的適用場一切:q UI規(guī)劃的大框架設(shè)計。q 大量UI元素需求成行或者成列對齊的情況。q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省淄博市2023-2024學(xué)年高二下學(xué)期期末考試數(shù)學(xué)試題(解析版)
- 遼寧省點石聯(lián)考2024-2025學(xué)年高二下學(xué)期6月份聯(lián)合考試歷史試題(含答案)
- 地下建筑的BIM管理案例分享
- 2025年八年級語文下冊期末復(fù)習(xí)【詞語運用】練習(xí)課件
- 持續(xù)護理教育與發(fā)展
- 2025年農(nóng)村地區(qū)教育精準(zhǔn)扶貧模式創(chuàng)新研究報告
- 基因治療藥物臨床試驗數(shù)據(jù)解讀與臨床轉(zhuǎn)化效率提升2025年報告
- 數(shù)學(xué) 2024-2025學(xué)年人教版七年級下冊數(shù)學(xué)期末復(fù)習(xí)提升練習(xí)卷
- 2025年中級經(jīng)濟師之中級工商管理自我檢測試卷B卷附答案
- 環(huán)境災(zāi)害應(yīng)急物資儲備庫建設(shè)質(zhì)量重點基礎(chǔ)知識點歸納
- 鋼結(jié)構(gòu)安裝施工記錄 - 副本
- 超市食品安全管理制度手冊
- 海鮮水餃供貨合同協(xié)議
- 非財務(wù)人員的財務(wù)管理方法與案例
- 2025+CSCO淋巴瘤診療指南解讀課件
- 統(tǒng)編版語文六年級上冊第三單元大單元整體教學(xué)設(shè)計
- 山東臨沂歷年中考作文題與審題指導(dǎo)(2005-2023)
- 2024年幽門螺桿菌感染基層診療指南講座課件
- 2025-2030中國助聽器、植入物和診斷設(shè)備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 米哈游的創(chuàng)新創(chuàng)業(yè)之路
- 道路保潔臺賬管理制度
評論
0/150
提交評論