繫結到非元素物件學習筆記

2022-03-08 04:24:14 字數 1484 閱讀 7175

昨天學習了元素物件之間的單向繫結、雙向繫結等,今天開始學習將元素繫結到非元素物件。

元素繫結到元素需使用binding.elementname屬性指定源,而繫結到非元素物件則使用下面幾個屬性:

source:該屬性是指向源物件的引用-換句話說就是object,但該object中必須有公開的屬性。

relativesource:使用relativesource物件指向源物件(程式設計寶典這裡有單詞錯誤)。

datacontext:在結構樹中向上查詢每個元素的datacontext屬性,並使用第乙個非空的datacontext屬性。

source屬性

直接繫結算是比較簡單,可以使用資料物件、資源作為繫結物件,例如:

<

textblock

text

=",path=source}

">

textblock

>

<

window.resources

>

<

fontfamily

x:key

="customfont"

>calibri

fontfamily

>

window.resources

>

<

textblock

text

=",path=source}

">

第一段**直接繫結到靜態物件,第二段**繫結到了建立的資源。

relativesource屬性

這種繫結有幾種不同的模式

self:表示式繫結到同一元素的另乙個屬性上

findancestor:表示式繫結到父元素,但必須指定期望繫結的父型別

還有previousdata、templateparent模式。

示例:

<

textblock

text

="}}

">

textblock

>

這段繫結表示式首先指明繫結到的屬性為title,期望的父型別為window,執行這段**時就在當前的樹形結構中逐個向上查詢父元素,直到判斷父元素型別為window為止,並繫結到該元素title屬性。

datacontext屬性

這個屬性我理解的也算是很透徹了,按照我的想法,在專案中維護資訊時這種繫結方式應該用的比較多,舉個例子:

修改員工資訊的介面有好多textbox需要繫結到員工資料物件,如果每個textbox要寫一遍繫結那是要累死的節奏,如果使用datacontext則就可以只在這些textbox的父元素(stackpanel)中指定員工資料物件,textbox只需指定繫結path就可以了。

關於資料繫結的基礎概念就先學習到這裡了,下一步開始學習命令。

WPF學習筆記(一) 資料繫結之元素到元素繫結

作為乙隻菜鳥,之前學了一段時間的wpf,但是沒有總結,過了一學期發現好多東西都忘記了,很多東西還是需要記下來,以備後續複習。資料繫結在事件中應用非常廣泛,可以有效地減少 量,那麼什麼是資料繫結?說的簡單就是從源物件提取一些資訊,將其用於設定目標物件的屬性,這裡有一點需要注意,目標屬性需要是依賴屬性 ...

WPF元素繫結筆記

利用元素到元素的繫結實現互動方式的自動化 表示式繫結中,path 可以指向屬性,也可以指向屬性使用的索引器 如content.children 0 可構建具有多級層次的路徑,使其指向屬性的屬性,以此類推 繫結錯誤不會報出異常,但是輸出視窗會有提示 繫結模式 源物件 目標物件 oneway 目標物件 ...

學習WPF 元素繫結

概念 從源物件提取一些資訊,並用這些資訊設定目標物件的屬性 示例 在給textblock控制項的fontsize屬性賦值時,我們使用了繫結表示式 資料繫結表示式使用xaml的標記擴充套件 因此具有花括號 參見 這裡建立了乙個system.windows.data.binding物件,所以繫結表示式以...