前面講了最近本的兩種資料繫結,這次講講資源繫結和context繫結
1、資源繫結
同樣不需要寫**,僅僅需要配置xaml就可以了。
1其中第六行中textblock的text屬性就是針對靜態屬性的繫結。繫結的時乙個字串資源,資源的定義在第四行。<
tabitem
header
="resourcebinding"
>
2<
stackpanel
>
3<
stackpanel.resources
>
4<
sys:string
x:key
="string1"
>this is a static string resource
sys:string
>
5stackpanel.resources
>
6<
textblock
horizontalalignment
="center"
verticalalignment
="center"
text="}
"/>
7<
textblock
text
="}}
"/>
8stackpanel
>
9tabitem
>
第七行的textblock是什麼繫結呢?這個叫相對資源繫結,前面的靜態資源是絕對資源,比如我們在例子中用到的字串就是stackpanel的乙個資源,他的「位置」,從屬關係是絕對的。
而相對資源是以當前空間為出發點的相對位置,比如說在例子中的繫結的資源就是相對於該textblock的外圍的grid的控制項的的name屬性。
重點是下面這句話:
relativesource=}
ancestorlevel這個是相對的控制項的偏移量,從1開始,每層向外加1,mode是找尋的模式,這裡的findancestor時說找祖先(ancestor意為祖先),就是說找父控制項,即外層的空件。ancestortype就是要找哪類控制項。
2、context繫結
同樣不需要寫**
1我們原本定義了乙個student類,現在給stackpanel類設定乙個datacontext,乙個學生類。<
tabitem
header
="context binding"
>
2<
stackpanel
>
3<
stackpanel.datacontext
>
4<
local:student
id="15"
name
="jean"
age="18"
/>
5stackpanel.datacontext
>
6<
textblock
text=""
/>
7<
textblock
text=""
/>
8<
textblock
text=""
/>
9stackpanel
>
10tabitem
>
同時讓textblock類的控制項來繫結的顯示該學生類的資訊。
顯示效果如下:
當然我們也可以使用**來實現,將stackpanel類設定為乙個學生類。效果是一樣的
wpf 資料繫結
1,資料繫結的幾種方式 重點解釋以下幾點 1,目標物件的屬性是依賴項屬性.2,對於default方式,當目標屬性可以設定時,則是雙向繫結,否則是單向繫結.2,使用 繫結和解除繫結 binding binding new binding binding.source silderfontsize 繫結...
WPF資料繫結 用XAML繫結
用xaml繫結 wpf元素不僅是資料繫結的目標,它還可以是繫結的源。可以把乙個wpf元素的源屬性繫結到另乙個wpf元素的目標屬性上。elementname指向繫結源,path指向源屬性 此處checkbox為繫結源,ischecked為源屬性,label為目標 除了用xaml 定義繫結資訊之外,還可...
WPF 資料繫結 10
由於wpf可以繫結任意的.net物件,所以只要該物件符合一定的機制和規則就可以被繫結並呈現出來。而出於便利的目的,和之前的vs版本一樣,在資料繫結方面wpf也提供了相應的provider 儘管不是專門為關係型資料庫提供的 第一部分 xmldataprovider 這是乙個提供用於繫結xml的物件,配...