2015-08-08 77 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; 
}