WPF基礎知識概要

2021-08-16 03:57:56 字數 2187 閱讀 2484

wpf 基礎:

繫結,不會繫結談不上懂wpf

布局,不管是web還是winform,都必須要會布局,布局基礎類panel

觸發器,要想用好wpf,觸發器必須要會

樣式,給軟體穿衣服,布局和樣式一般是放到一起說,類似html+css

命令,命令也是wpf一大特點,必須要懂的基礎

依賴屬性

模板路由和事件資源

高階:mef

prism

mvmlight

動畫(animation、timeline、storyboard、thumb、transform(二維影象變換,縮放、旋轉、平移、扭曲))

使用者控制項和自定義控制項

視覺樹和邏輯樹

工作執行緒更新ui

資源: resource 動態資源和靜態資源:靜態資源在引用物件初始化時一次性設定完畢;對於動態資源、如果發生了改變則會重新應用資源 資源字典:resourcedictionary 樣式: 觸發器:屬性觸發器、事件觸發器三種模板:控制項模板、資料模板、面板模板 frameworktemplate 邏輯樹、視覺化樹 邏輯樹:ui介面的組成元素結構(button是乙個邏輯樹元素) 視覺化樹:邏輯樹的擴充套件版本,它將元素分成更小的部分(邏輯樹button由多個視覺化樹元素構成) visualtreehelper類和logictreehelper類:幫助檢視邏輯樹和視覺化樹panel是布局容器的基類 1. 布局過程 a. 測量,每個panle都提供了自己的measureoverride b. 排列,每個panle都提供了自己的arrangeoverride 2. canvas a. 預設不剪裁超出自身範圍的內容(cliptobounds=false) b. 元素預設顯示在畫布的左上方 3. stackpanel a. 將子元素按照堆疊的形式排列(橫排、豎排) b. 預設剪裁超出範圍的內容 c. orientation 設定元素的排列方向及預設寬高 4. 自定義布局控制項1. 繫結xaml元素物件 elamentname、path 2. 繫結模式model:default、oneway、twoway、onttime、onewaytosource 3. 繫結更新,觸發更新的事件:default、explicit(手動bindingexpression.updayesource())、propertychange、lostfocus 非元素物件 1. 繫結源:預設datacontext,從自身開始往父級查詢,直至第乙個非空datacontext 2. 繫結源:source,指向源物件的引用 3. 繫結源:relativesource,指定繫結源在xaml布局中的相對位置,預設null 提高大列表效能:ui虛擬化 converter 轉換器 stringformat targetnullvalue 空值時的預設值 fallbackvalue 繫結目標發生錯誤時的預設值 prioritybinding 載入時間比較多的時候,要顯示的資訊,比如顯示「正在載入中…」1. 依賴屬性的優點: a. 加入了屬性變化通知、限制、驗證等功能 b. 節約記憶體?相對winform c.支援多種提供物件、通過多種方式設定依賴屬性值,配合表示式、樣式和繫結來對依賴屬性進行設定值 2. 依賴屬性的定義 a 屬性是類私有欄位的封裝,wpf中使用屬性對依賴屬性進行封裝 3. 依賴屬性的優先順序: 動畫》繫結》本地值》自定義style trigger》自定義templdate trigger》自定義style setter 》預設style trigger》預設style setter》繼承值》預設值 4. 依賴屬性的繼承(並不是所有元素都支援屬性值繼承) 5. 唯讀依賴屬性 6. 附加屬性:例如:dock.top grid.row 7. 依賴屬性驗證和強制:validatevaluecallback、coercevaluecallback 8. 依賴屬性的監聽: 9. wpf依賴屬性的事件機制主要作用是根據trigger的不同條件來自動更改外觀屬性,或者執行動畫等操作。主要是改變外觀(包括布局、形狀、顏色、動畫等)。 觸發器型別:trigger、multitrigger、datatrigger、multidatatrigger、eventtrigger trigger: 普通的屬性觸發器(由屬性改變觸發) eventtrigger : 事件觸發器(由事件觸發) multitrigger :普通的多屬性觸發器(由多個屬性控制觸發) datatrigger : 資料觸發器(由繫結的資料觸發) multidatatrigger: 多資料觸發器(由繫結的多個資料控制觸發) 用好觸發器可少寫很多**,寫出非常優秀的**,觸發器是乙個很好的東西 主要運用的場景在style、controltemplate、datatemplate

wpf動畫

wpf dispatcher

公釐波感測器基礎知識概要

需要掌握的那20 知識 基礎部分 為什麼要速度解模糊?因為對於雷達來說,一般都會要求先滿足測距範圍的要求,這就涉及到引數的折中。參見筆記寫 可參考ti文件 基於awr1642 汽車雷達的速度擴充套件演算法研究 脈衝雷達距離模糊的概念可以理解,那麼連續波雷達存在距離模糊嗎?速度測量是基於發射訊號與回波...

c 之WPF基礎知識點(一)

x命名空間詳解 x是指對映到xml命名空間時給它取的名字,如果用的是字母y,那就是 y命名空間 x命名空間的成員 x class,x name eg xmlns x 來引入引號中的命名空間 x命名空間中包含這解析xaml語言相關的類 frameworkelement是所有的wpf控制項的基類,所以所...

HTML CSS基礎小白知識概要

對不起,您的瀏覽器不支援 如果瀏覽器都不支援,就會出現p元素中的內容 有序列表type可填這些內容 i 為羅馬數字,a 為小寫字母,a 為大寫字母 無語義元素div 語義化容器 header 通常用於頁頭,也用於表示文章頭部 article 表示整篇文章 footer 表示頁尾,表示文章尾部 sec...