wpf datagrid动态绑定列
假设有以下类作为示例:wpf datagrid动态绑定列,wpf,datagrid,binding,Wpf,Datagrid,Binding,假设有以下类作为示例: public class Item { public String Key {get;set;} public String[] Values { get; set;} } 为了简单起见,假设每个项的值数组的长度相同。 让我们来收集这些项目: 例a: List<Item> items = new List<Items>( new Item() { Key = "A", Values = new String[]{"OneA
public class Item
{
public String Key {get;set;}
public String[] Values { get; set;}
}
为了简单起见,假设每个项的值数组的长度相同。
让我们来收集这些项目:
例a:
List<Item> items = new List<Items>(
new Item() { Key = "A", Values = new String[]{"OneA", null, "ThreeA"}},
new Item() { Key = "B", Values = new String[]{"OneB", "TwoB", null}},
new Item() { Key = "C", Values = new String[]{null, null, "ThreeC"}}
);
A | OneA | ____ | ThreeA |
B | OneB | TwoB | ______ |
C | ____ | ____ | ThreeC |
例B:
List<Item> items = new List<Items>(
new Item() { Key = "1", Values = new String[]{"One1", null}},
new Item() { Key = "2", Values = new String[]{"One2", "Two2"}},
new Item() { Key = "3", Values = new String[]{null, null}}
);
1 | OneA | ____ |
2 | OneB | TwoB |
3 | ____ | ____ |
换句话说,在不同的情况下,值数组具有不同的长度。但在一种情况下,为了简化,所有值数组的长度都相同
如果DataGridInstance.ItemsSource绑定到items NotifyPropertyChanged,则如何设置列以及如何设置列值的绑定
当然,每次刷新时都会提到DataGridInstance.Columns.Clear。
如果再次添加列,则列的数量当然取决于值数组的长度
但是我将如何创建这些值的绑定呢
我想要如下的东西:
Binding columnABinding = new Binding("Values[0]");
Binding columnBBinding = new Binding("Values[1]");
Binding columnCBinding = new Binding("Values[3]");
对不起,我的英语不好。我尽量让它简单,希望它是可以理解的!
提前感谢您的回答 最近有一个问题,根据我在那里的回答,我怀疑你能否绑定列本身。要刷新列,您可以订阅其中一个项的PropertyChanged事件,如果数组长度更改,您可以重新生成列。如果DataContext发生更改,并且新项目以这种方式提交,则您可能还希望处理DataContextChanged事件以进行刷新