datatemplate就是我們所說的資料模板,主要用於資料的呈現,比如你列表控制項裡面放哪些資料,怎麼排版這些資料,是橫著排還是豎著排。大部分在itemscontrol和treeview類得控制項繫結資料所用,它不影響外觀,只為呈現資料內容。
datatemplate的使用比較簡單 示例如下(注意dt內部元素多是binding到後台**的資料)
//比較下面的例子,這裡itemscontrol省略掉了itemsource屬性的設定,itemsource用來連線後台資料<
itemscontrol
x:name
="ic_powerport"
alternationcount
="2"
>
<
itemscontrol.itemtemplate
>
<
datatemplate
>
<
border
margin
="1"
x:name
="back"
height
="50"
>
<
togglebutton
horizontalalignment
="stretch"
mousedoubleclick
="togglebutton_click"
>
<
dockpanel
>
<
textblock
text=""
tooltip=""
margin
="10 0 0 0"
verticalalignment
="center"
texttrimming
="wordellipsis"
/>
<
image
x:name
="_img"
width
="18"
height
="18"
margin
="10 0"
mouseleftbuttondown
="delpowerport_click"
horizontalalignment
="right"
source
="/wilma.mainwindowviewmodel;component/images/del.png"
/>
dockpanel
>
togglebutton
>
border
>
datatemplate
>
itemscontrol.itemtemplate
>
itemscontrol
>
從上面的**我們可以看出給定乙個itemscontrol 的控制項用於顯示乙個列表,裡面繫結乙個物件的name屬性,同是還有個image 用於刪除,由此可以知道datatemplate的主要作用是在繫結資料的時候做資料呈現的。
在此特別說明下treeview 的資料繫結需要乙個hierarchicaldatatemplate 它是乙個級聯的繫結資料模板
1<
treeview
name
="_tree"
margin
="0"
borderthickness
="0"
verticalalignment
="stretch"
background
="transparent"
itemssource=""
>
2<
treeview.itemtemplate
>
3<
hierarchicaldatatemplate
itemssource=""
>
4<
border
cornerradius
="0"
margin
="1"
x:name
="back"
minwidth
="70"
5background
="transparent"
datacontext=""
previewmousemove
="treeitem_previewmousemove"
>
6<
stackpanel
orientation
="horizontal"
margin
="2"
>
7<
image
x:name
="bgimage"
source
="/vdc3d.coms.dmodeleditor;component/images/item.png"
height
="15"
width
="15"
/>
8<
textblock
text=""
margin
="2 0"
/>
9stackpanel
>
10border
>
11hierarchicaldatatemplate
>
12treeview.itemtemplate
>
13treeview
>
這樣我們就可以給乙個treeview繫結資料了ui會級聯的繫結資料物件的children屬性
DataTemplate總結1(學習)
有關databinding的心得 dt作用於content control類控制項與items control。用到dt的property可以是contenttemplate或者itemtemplate。dt是某個控制項的資料定製模板,一般給itemcontrol的itemtemplate屬性使用。...
DataTemplate 根據條件選擇不同模板
msdn datatemplate 為了不同的條件選擇模板,可以實現乙個datatemplateselector。1 模板選擇器是繼承自datatemplateselector,並重寫了selecttemplate方法並返回所需要的模板的類 public class persontemplatese...
WPF之DataTemplate資料模板
datatemplate 類 介紹資料物件的可視結構。下面的示例演示如何建立 datatemplate 內聯。datatemplate 指定每個資料項顯示為三個 textblock 內的元素 stackpanel。在此示例中,資料物件是乙個名為類 task。請注意,每個 textblock 這個模板...