WPF資料繫結(二)

2021-06-12 10:00:54 字數 1972 閱讀 1023

前面講了最近本的兩種資料繫結,這次講講資源繫結和context繫結

1、資源繫結

同樣不需要寫**,僅僅需要配置xaml就可以了。

1

<

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的text屬性就是針對靜態屬性的繫結。繫結的時乙個字串資源,資源的定義在第四行。

第七行的textblock是什麼繫結呢?這個叫相對資源繫結,前面的靜態資源是絕對資源,比如我們在例子中用到的字串就是stackpanel的乙個資源,他的「位置」,從屬關係是絕對的。

而相對資源是以當前空間為出發點的相對位置,比如說在例子中的繫結的資源就是相對於該textblock的外圍的grid的控制項的的name屬性。

重點是下面這句話:

relativesource=}

ancestorlevel這個是相對的控制項的偏移量,從1開始,每層向外加1,mode是找尋的模式,這裡的findancestor時說找祖先(ancestor意為祖先),就是說找父控制項,即外層的空件。ancestortype就是要找哪類控制項。

2、context繫結

同樣不需要寫**

1

<

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

>

我們原本定義了乙個student類,現在給stackpanel類設定乙個datacontext,乙個學生類。

同時讓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的物件,配...