2015-08-08 27 views
0

我有簡單的列表。 我需要定義Table,這個表的每一列都是這個列表元素之一。如何動態設置ListView列?

因此,我將使用的ListView - 我需要定義一個ListView這ListView中的每列是我的列表中的一個=>那意味着

第一列名列表[0]
第二列名是列表[1]
。 。 。

我不能罰款任何方式來做到這一點。
我google一下,所有的例子顯示瞭如何創建動態行

任何幫助,請...

回答

1

你會想要一個ListView與GridView控件設置來做到這一點。例如:

http://www.wpf-tutorial.com/listview-control/listview-with-gridview/

<Window x:Class="WpfTutorialSamples.ListView_control.ListViewGridViewSample" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="ListViewGridViewSample" Height="200" Width="400"> 
    <Grid> 
       <ListView Margin="10" Name="lvUsers"> 
         <ListView.View> 
           <GridView> 
             <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" /> 
             <GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" /> 
             <GridViewColumn Header="Mail" Width="150" DisplayMemberBinding="{Binding Mail}" /> 
           </GridView> 
         </ListView.View> 
       </ListView> 
     </Grid> 
</Window> 

一旦你的GridView控件,然後添加列是添加GridViewColumn到GridView的Columns集合一樣簡單。

http://www.c-sharpcorner.com/UploadFile/mahesh/gridview-in-wpf/

private void CreateDynamicGridView() 
{ 
    // Create a GridView 
    GridView grdView = new GridView(); 
    grdView.AllowsColumnReorder = true; 
    grdView.ColumnHeaderToolTip = "Authors"; 

    GridViewColumn nameColumn = new GridViewColumn(); 
    nameColumn.DisplayMemberBinding = new Binding("Name"); 
    nameColumn.Header = "Author Name"; 
    nameColumn.Width = 120; 
    grdView.Columns.Add(nameColumn); 

    GridViewColumn ageColumn = new GridViewColumn(); 
    ageColumn.DisplayMemberBinding = new Binding("Age"); 
    ageColumn.Header = "Age"; 
    ageColumn.Width = 30; 
    grdView.Columns.Add(ageColumn); 

    GridViewColumn bookColumn = new GridViewColumn(); 
    bookColumn.DisplayMemberBinding = new Binding("Book"); 
    bookColumn.Header = "Book"; 
    bookColumn.Width = 250; 
    grdView.Columns.Add(bookColumn); 

    GridViewColumn mvpColumn = new GridViewColumn(); 
    mvpColumn.DisplayMemberBinding = new Binding("Mvp"); 
    mvpColumn.Header = "Mvp"; 
    mvpColumn.Width = 50; 
    grdView.Columns.Add(mvpColumn); 

    ListView1.View = grdView; 
}