WPF ListView展示層疊資訊

2021-09-19 21:51:46 字數 4751 閱讀 1302

原文:

wpf listview展示層疊資訊

通常我們在listview中展示一列同類資料,例如城市名稱。不過可以對listview的datatemplate稍作修改,讓其顯示層疊資訊。例如:需要在listview中顯示省份和省份對應的城市名稱。首先準備基礎類,

city類:

public

class

city : viewmodebase

set }}}

province類:

public

class

province : viewmodebase

set }

}private observablecollection_citys;

public observablecollectioncitys

set }

}public

province()

}

製作模擬資料:

observablecollection_provinces = null

;

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;

}

xaml:

<

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軸上就 高人一...