如何使用C#以编程方式在WPF中以编程方式创建包含包含列和行的字符串的ListView?

时间:2022-02-15 22:27:27

I would like to create a ListView like this programmatically (I am aware there are better controls out there to do this, but I do not wish to use other controls, because I just want to measure the performance of doing this with a list view):

我想以编程方式创建一个像这样的ListView(我知道有更好的控件可以做到这一点,但我不想使用其他控件,因为我只想用列表视图来衡量这样做的性能) :

|-----------------------------------------------------------|
|Column One Header  |Column 2 Header  |Column Three Header  |
|-----------------------------------------------------------|
|Cell Text 1        |Cell Text 2      |Cell Text 3          |
|-----------------------------------------------------------|
|Cell Text 4        |Cell Text 5      |Cell Text 6          |
|-----------------------------------------------------------|

I can't find much on this, and here is what I'm stuck with right now (I am using WPF by the way):

我在这方面找不到多少,这就是我现在所困扰的东西(我顺便使用WPF):

ListView listView = new ListView();
listView.Height = 203;
listView.Width = 501;
listView.Margin = new Thickness(0, 0, 0, 0);
Grid.SetRow(listView, 1);
Grid.SetColumn(listView, 0);
mainGrid.Children.Add(listView);

1 个解决方案

#1


0  

Use GridView

GridView myGridView = new GridView();
myGridView.AllowsColumnReorder = true;

GridViewColumn gvc1 = new GridViewColumn();
gvc1.DisplayMemberBinding = new Binding("ColumnOneHeader");
gvc1.Header = "Column One Header";
gvc1.Width = 100;
myGridView.Columns.Add(gvc1);
GridViewColumn gvc2 = new GridViewColumn();
gvc2.DisplayMemberBinding = new Binding("Column2Header");
gvc2.Header = "Column 2 Header";
gvc2.Width = 100;
myGridView.Columns.Add(gvc2);
GridViewColumn gvc3 = new GridViewColumn();
gvc3.DisplayMemberBinding = new Binding("ColumnThreeHeader");
gvc3.Header = "Column Three Header";
gvc3.Width = 100;
myGridView.Columns.Add(gvc3);


listView.View = myGridView;

#1


0  

Use GridView

GridView myGridView = new GridView();
myGridView.AllowsColumnReorder = true;

GridViewColumn gvc1 = new GridViewColumn();
gvc1.DisplayMemberBinding = new Binding("ColumnOneHeader");
gvc1.Header = "Column One Header";
gvc1.Width = 100;
myGridView.Columns.Add(gvc1);
GridViewColumn gvc2 = new GridViewColumn();
gvc2.DisplayMemberBinding = new Binding("Column2Header");
gvc2.Header = "Column 2 Header";
gvc2.Width = 100;
myGridView.Columns.Add(gvc2);
GridViewColumn gvc3 = new GridViewColumn();
gvc3.DisplayMemberBinding = new Binding("ColumnThreeHeader");
gvc3.Header = "Column Three Header";
gvc3.Width = 100;
myGridView.Columns.Add(gvc3);


listView.View = myGridView;