原文:
wpf listview展示層疊資訊
通常我們在listview中展示一列同類資料,例如城市名稱。不過可以對listview的datatemplate稍作修改,讓其顯示層疊資訊。例如:需要在listview中顯示省份和省份對應的城市名稱。首先準備基礎類,
city類:
publicprovince類:class
city : viewmodebase
set }}}
public製作模擬資料:class
province : viewmodebase
set }
}private observablecollection_citys;
public observablecollectioncitys
set }
}public
province()
}
observablecollection_provinces = nullxaml:;
public
mainwindow()
;provincejs.citys.add(
new city() );
provincejs.citys.add(
new city() );
provincejs.citys.add(
new city() );
provincejs.citys.add(
new city() );
provincejs.citys.add(
new city() );
provincejs.citys.add(
new city() );
provincejs.citys.add(
new city() );
province provincezj = new province() ;
provincezj.citys.add(
new city() );
provincezj.citys.add(
new city() );
provincezj.citys.add(
new city() );
provincezj.citys.add(
new city() );
provincezj.citys.add(
new city() );
provincezj.citys.add(
new city() );
provincezj.citys.add(
new city() );
provincezj.citys.add(
new city() );
province provincesd = new province() ;
provincesd.citys.add(
new city() );
provincesd.citys.add(
new city() );
provincesd.citys.add(
new city() );
_provinces = new observablecollection();
_provinces.add(provincejs);
_provinces.add(provincezj);
_provinces.add(provincesd);
datacontext =_provinces;
}
<執行效果:window.resources
>
<
booleantovisibilityconverter
x:key
="booleantovisibilityconverter"
/>
window.resources
>
<
grid
>
<
listview
itemssource=""
width
="100"
height
="300"
>
<
listview.template
>
<
controltemplate
>
<
scrollviewer
verticalscrollbarvisibility
="auto"
horizontalscrollbarvisibility
="auto"
>
<
itemspresenter
/>
scrollviewer
>
controltemplate
>
listview.template
>
<
listview.itemspanel
>
<
itemspaneltemplate
>
<
stackpanel
isitemshost
="true"
virtualizingstackpanel.isvirtualizing
="true"
virtualizingstackpanel.virtualizationmode
="recycling"
/>
itemspaneltemplate
>
listview.itemspanel
>
<
listview.itemtemplate
>
<
datatemplate
datatype=""
>
<
grid
>
<
grid.rowdefinitions
>
<
rowdefinition
height
="auto"
/>
<
rowdefinition
height
="*"
/>
grid.rowdefinitions
>
<
border
grid.row
="0"
background
="#e1e2e7"
>
<
stackpanel
orientation
="horizontal"
margin
="20,8"
>
<
textblock
text=""
foreground
="#647081"
fontsize
="14"
/>
stackpanel
>
border
>
<
listview
grid.row
="1"
itemssource=""
>
<
listview.template
>
<
controltemplate
>
<
grid
>
<
itemspresenter
/>
grid
>
controltemplate
>
listview.template
>
<
listview.itemspanel
>
<
itemspaneltemplate
>
<
stackpanel
isitemshost
="true"
/>
itemspaneltemplate
>
listview.itemspanel
>
<
listview.itemtemplate
>
<
datatemplate
datatype=""
>
<
textblock
text=""
foreground
="#647081"
fontsize
="12"
/>
datatemplate
>
listview.itemtemplate
>
listview
>
grid
>
datatemplate
>
listview.itemtemplate
>
listview
>
grid
>
通過在listview的datatemplate中再繫結乙個listview來展示層疊資訊。
WPF ListView展示層疊資訊
通常我們在listview中展示一列同類資料,例如城市名稱。不過可以對listview的datatemplate稍作修改,讓其顯示層疊資訊。例如 需要在listview中顯示省份和省份對應的城市名稱。首先準備基礎類,city類 public class city viewmodebase set p...
WPF ListView 自動調整列寬
listview 控制項 在 gridviewcolumn 中設定 width 或者是在 datatemplate 中 設定 width auto 並不能達到自動 列寬自動調整的效果,列寬在控制項第一次載入的時候已經確定,之後不會隨著 某列資料長度的增加和減少 而改變列寬。找了很多方法,感覺下面的這...
層疊上下文與層疊順序
參考文章 深入理解css中的層疊上下文和層疊順序 css深入理解之z index css深入理解之relative 先來弄清楚什麼是,層疊上下文。層疊上下文,英文稱作 stacking context 是html中的乙個三維的概念。如果乙個元素含有層疊上下文,我們可以理解為這個元素在z軸上就 高人一...