WPF: add several objects into my ListView - only the first one is added -
i have object want add listview:
public class mydata {     string name {get; set;} }   this how try add object behind code:
observablecollection<mydata> collection = new observablecollection<mydata>();             mydata data1 = new mydata("c:\file.doc");             collection.add(data1);             mylistview.items.add(collection);   this works fine if want add one:
observablecollection<mydata> collection = new observablecollection<mydata>();             mydata data1 = new mydata("c:\file.doc");             collection.add(data1);              mydata data2 = new mydata("c:\blabla.doc");             collection.add(data2);              mylistview.items.add(collection);   i can see first object.
listview xaml:
    <listview name="mylistview" margin="16,453,263,40" background="transparent" borderthickness="0" >         <listview.itemcontainerstyle>             <style targettype="{x:type listviewitem}">                 <setter property="foreground" value="white"/>             </style>         </listview.itemcontainerstyle>         <listview.resources>             <datatemplate x:key="mydatatemplate">                 <grid margin="-6">                     <progressbar maximum="100" value="{binding progress}"                                   width="{binding path=width, elementname=progresscell}" height="16" margin="0"                                  foreground="#ff5591e8" />                     <label content="{binding progress, stringformat={}{0}%}" fontsize="12"                            verticalalignment="center" horizontalalignment="center" />                 </grid>             </datatemplate>             <controltemplate x:key="progressbartemplate">                 <label  horizontalalignment="center" verticalalignment="center" />             </controltemplate>         </listview.resources>         <listview.view>             <gridview columnheadercontainerstyle="{staticresource listviewheaderstyle}">                 <gridviewcolumn width="425" header="file name" displaymemberbinding="{binding filename}" />                 <gridviewcolumn x:name="progresscell"  width="50" header="progress"                                 celltemplate="{staticresource mydatatemplate}" />             </gridview>         </listview.view>     </listview>      
define collection follows :
public observablecollection<data> datalist { get; set; }   initialize in constructor , add elements according needs. set data context of window :
this.datacontext = this;   then data bind in xaml :
<listview name="mylistview"                            itemssource="{binding datalist}"/>   it should work , should see both elements added.
for specific case, don't add collection items, set itemssource of listview.
mylistview.itemssource = collection;      
Comments
Post a Comment