WPF資料繫結(三)

2022-01-19 11:02:48 字數 1749 閱讀 3862

1、itemsource繫結

我們經常遇到這種需求,乙個列表裡面顯示一些資料,點選其中一條,顯示其關聯的資料,比如說,在列表中顯示學生的姓名,點選某乙個學生的姓名以後,會在textbox中顯示出該學生的學號。如下圖所示:

列表中顯示了學生的性命,點選其中乙個學生,就會顯示其學號。

1

<

tabitem

header

="itemsource"

>

2<

stackpanel

>

3<

textbox

name

="tbtitemid"

/>

4<

listbox

name

="listboxstus"

>56

listbox

>78

stackpanel

>

9tabitem

>

1

private

void

itemsourcebinding()2,

6new student(),

7new student(),

8new student(),

9new student()

10};

11 listboxstus.itemssource =stus;

12 listboxstus.displaymemberpath = "

name";

1314 binding bd = new binding("

selecteditem.id

") ;

15tbtitemid.setbinding(textbox.textproperty, bd);

16 }

如**所示,首先初始化乙個list stus(學生類我們前面的文章已經定義了),裡面包含了五個學生,當然例子中為了簡單直接使用**初始化,實際工作中可以使用各種途徑獲得乙個list。

要想和listbox繫結,就要告訴listbox資料來源是誰,然後還要告訴他顯示其中的那個字段,其實看了這麼多例子,應該可以感覺到繫結最重要的無非是source和path這兩個屬性。

listboxstus.itemssource = stus;

listboxstus.displaymemberpath = "name";

有了這兩句,listbox就可以顯示出資料了,不過別著急,還沒有完,我們還需要點選一條資料能夠顯示出其學號。

binding bd = new binding("selecteditem.id") ;

tbtitemid.setbinding(textbox.textproperty, bd);

我們還要把listbox的selecteditem(也就是學生)的學號,繫結到textbox的text屬性上。這裡面重要的也是source和path,source就是例子中listbox,path呢?selecteditem是listbox的乙個屬性,表示當前選擇的條目,而條目是乙個學生的類,因此會有id這個屬性。所以我們要和學號繫結的話path就是selecteditem.id,如果和年齡那麼就是selecteditem.age。

順便鄙視下**,無知無恥!

WPF的資料繫結(三)

這次我們來學習新的繫結知識,xml資料繫結。xmldataprovider 用來繫結 xml 資料,該xml資料可以是嵌入.xmal檔案的 xmldataprovider 標記中,也可以是外部位置引用的檔案中。當然嵌入式 xml 內容必須置於 xmldataprovider 內部的 標記中,而且不容...

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 定義繫結資訊之外,還可...