我想将一些项添加到作为gridview的列表视图中。
我想通过代码实现它而不实现绑定选项,只需将值添加到某种单元格集中
我知道这不是WPF方式,但我迫切需要这样做,我似乎无法找到我正在寻找的答案。
我查看了multibind,转换器和常规绑定,但它不会给我现在需要的答案。
甚至可能吗?
如果是这样我该怎么办?
答案 0 :(得分:1)
您需要索引绑定,例如“[0]”。


 < Grid>
 < ListView x:Name =“lv”/>
</Grid>
lv.Items.Clear();
var gv = new GridView();&#xA; lv.View = gv;&#xA;&#xA; var columns = new List&lt; string&gt; {“col1”,“col2”};&#xA; for(int index = 0; index&lt; columns.Count; index ++)&#xA; {&#xA; gv.Columns.Add(new GridViewColumn&#xA; {&#xA; Header = columns [index],&#xA; DisplayMemberBinding = new Binding(“[”+ index.ToString()+“]”)&#xA; }&;&#xA;}&#xA;&#xA; //填充列表&#xA; var row1 = new List&lt; string&gt; {“(1,1)”,“(2,1)”};&#xA; var row2 = new List&lt; string&gt; {“(1,2)”,“(2,2)”};&#xA; lv.Items.Add(row1);&#xA; lv.Items.Add(row2);&#xA; 代码>
&#XA;
答案 1 :(得分:0)
您可以使用DataGrid
代替ListView
吗?然后,您可以将AutoGenerateColumns
设置为true(默认情况下为true)。
<DataGrid x:Name="myDataGrid" AutoGenerateColumns="True"/>
然后在后面的代码中执行以下操作:
myDataGrid.Items = new List<MyDataType>();
foreach(var item in itemsToAdd){
myDataGrid.Items.Add(item);
}
或更短:
myDataGrid.ItemsSource = myListOfItems;
答案 2 :(得分:0)
不要挂断是否在代码隐藏中加载或不加载控件。我已经完成了主要的Silverlight项目,它们是两个操作的混合体。
public MainWindow()
{
InitializeComponent();
lvPrimary.ItemsSource = new List<string> { "Alpha", "Beta", "Gamma" };
}
Xaml看起来像这样:
<Window x:Class="WPFStackOverflow.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListView Name="lvPrimary" Width="200"/>
</Grid>
</Window>