让我们假设有下面的类(例如目的):WPF数据网格动态绑定列
public class Item
{
public String Key {get;set;}
public String[] Values { get; set;}
}
用于使得简单,设想的每个“物品”的长度的‘值’的数组是相同。 让我们这些 “项目” S的集合:
例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"}}
);
例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}}
);
所以,我怎么可以做一个DataGrid
从具有在以下columsn工具包下例:
例A:
A | OneA | ____ | ThreeA |
B | OneB | TwoB | ______ |
C | ____ | ____ | ThreeC |
例B:
1 | OneA | ____ |
2 | OneB | TwoB |
3 | ____ | ____ |
所以,在词:在不同情况下的值的阵列具有不同的长度。但是对于一种情况,所有的Values数组都具有相同的长度(为了简化)。
如果DataGridInstance.ItemsSource
绑定到项目(NotifyPropertyChanged
已实现),那么将如何设置列以及如何设置列值的绑定?
当然在每个刷新DataGridInstance.Columns.Clear()
是说。 比列再次被添加,它们的数量是众所周知的(取决于当然“值”数组的长度)。
但我将如何创建值的绑定?
我想有像下面这样:
Binding columnABinding = new Binding("Values[0]");
Binding columnBBinding = new Binding("Values[1]");
Binding columnCBinding = new Binding("Values[3]");
呃,对不起,我的英语不好。我试图保持简单,希望它是可以理解的! 非常感谢您提前给出答案!