1. wpf的xaml方式非同步繫結:
step1:定義獲取資料的方法,這裡以省市縣作為例子
code:
classregiondao
publiclistgetcitiesfromprovince(int?pid)
listlist=entity.cities.where(c=>c.provinceid==pid).tolist();
returnlist;
}publiclistgetcountiesfromcity(int?cid)
listlist=entity.counties.where(c=>c.cityid==cid).tolist();
returnlist;}}
step2:在xaml定義資料獲取,這裡使用objectdataprovider,注意獲取城市的方法引數是int?,但是xmal中不能如此定義,就以0作為初始值,反正0也查不到資料,但是如果0可以查到資料,那麼你要考慮其他方式了。
code:
<
window.resources
>
<
objectdataprovider
x:key="data_province"
objecttype=""
methodname="getallprovince"
isasynchronous="true"
/>
<
objectdataprovider
x:key="data_city"
objecttype=""
methodname="getcitiesfromprovince"
>
<
objectdataprovider.methodparameters
>
<
sys:int32
>0
sys:int32
>
objectdataprovider.methodparameters
>
objectdataprovider
>
<
objectdataprovider
x:key="data_county"
objecttype=""
methodname="getcountiesfromcity"
>
<
objectdataprovider.methodparameters
>
<
sys:int32
>0
sys:int32
>
objectdataprovider.methodparameters
>
objectdataprovider
>
<
objectdataprovider
x:key="data_workshop"
objecttype=""
methodname="getworkshopfromregion"
>
<
objectdataprovider.methodparameters
>
<
sys:int32
>0
sys:int32
>
<
sys:int32
>0
sys:int32
>
<
sys:int32
>0
sys:int32
>
objectdataprovider.methodparameters
>
objectdataprovider
>
window.resources
>
step3:定義combobox控制項,注意要設定displaymemberpath顯示的內容,以及selectedvaluepath選中的內容
code:
""name="cboprovince"grid.row="0"grid.column="1"
itemssource="}"displaymemberpath="provincename"selectedvaluepath="provinceid"selectionchanged="cboprovince_selectionchanged"/>
""name="cbocity"grid.row="1"grid.column="1"
itemssource="}"displaymemberpath="cityname"selectedvaluepath="cityid"selectionchanged="cbocity_selectionchanged"/>
""name="cbocounty"grid.row="2"grid.column="1"
itemssource="}"displaymemberpath="countyname"selectedvaluepath="countyid"/>
step4:部分後置**,作用是當選中省時,取得combobox的selectedvalue值作為查詢城市的引數
code:
private
voidcboprovince_selectionchanged(objectsender,selectionchangedeventargse)
}private
voidcbocity_selectionchanged(objectsender,selectionchangedeventargse)
}2. 如果使用**方式來進行繫結也很簡單
code:
publicpartialclassucviewstudents:usercontrol
}但是有個問題是資料繫結不是非同步的,如果資料量大需要全部拿到後才顯示,需要非同步繫結資料
code:
publicpartialclassucviewstudents:usercontrol
}
WPF 資料繫結 資料模板介紹
實現效果 列出任務項資料,由普通資料模板顯示一般資訊,重要任務項則只顯示大寫文字描述。若任務項的型別為home,由資料模板的邊框改變成黃色,其他任務只大寫顯示文字 根據選定的任務項由資料模板展示其詳細資訊 實踐 datatemplate.triggers資料模板觸發器 itemtemplatesel...
WPF繫結資料來源之RelativeSource
一.findancestor 有時候我們不確定作為資料來源的物件叫什麼名字,但知道作為繫結源與ui布局有相對的關係,如下是一段xaml 說明多層布局控制項中放置乙個文字控制項,來顯示父級控制項的名稱。1 xaml html 2 後台 csharp relativesource rs new rela...
flex繫結資料
在使用flex開發的過程中,資料繫結是一定會遇到的,這種技術簡單,又有點好玩,重要的是它讓開發變得簡單了。在flex中,資料繫結的方式有這麼三種 示例1中的繫結方式即是第一種繫結方式,在 中直接填寫inputunit.text,表示label顯示的內容和textinput是關聯的,它會隨著texti...