我有简单的列表。 我需要定义Table,这个表的每一列都是这个列表元素之一。如何动态设置ListView列?
因此,我将使用的ListView - 我需要定义一个ListView这ListView中的每列是我的列表中的一个=>那意味着
第一列名列表[0]
第二列名是列表[1]
。 。 。
我不能罚款任何方式来做到这一点。
我google一下,所有的例子显示了如何创建动态行
任何帮助,请...
我有简单的列表。 我需要定义Table,这个表的每一列都是这个列表元素之一。如何动态设置ListView列?
因此,我将使用的ListView - 我需要定义一个ListView这ListView中的每列是我的列表中的一个=>那意味着
第一列名列表[0]
第二列名是列表[1]
。 。 。
我不能罚款任何方式来做到这一点。
我google一下,所有的例子显示了如何创建动态行
任何帮助,请...
您可以风格你的ListView的项目水平布局。
像这样:
<ListView>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"></StackPanel>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<TextBlock>Column 1</TextBlock>
<TextBlock>Column 2</TextBlock>
</ListView>
看到这个:How do I make WPF ListView items repeat horizontally, like a horizontal scrollbar?
你会想要一个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;
}