【发布时间】:2011-04-18 14:14:12
【问题描述】:
假设有以下类(出于示例目的):
public class Item
{
public String Key {get;set;}
public String[] Values { get; set;}
}
为了简单起见,假设每个“Item”的“Values”数组的长度是相同的。 让我们收集这些“项目”:
示例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}}
);
那么在接下来的情况下,我如何从具有以下列的 ToolKit 中创建 DataGrid:
示例A:
A | OneA | ____ | ThreeA |
B | OneB | TwoB | ______ |
C | ____ | ____ | ThreeC |
示例B:
1 | OneA | ____ |
2 | OneB | TwoB |
3 | ____ | ____ |
因此,换句话说:在不同的情况下,Values 数组具有不同的长度。但在一种情况下,所有 Values 数组的长度都相同(为简化起见)。
如果DataGridInstance.ItemsSource 绑定到项目(NotifyPropertyChanged 已实现),列将如何设置以及列值的绑定将如何设置?
当然,每次刷新时都会说DataGridInstance.Columns.Clear()。
与再次添加列相比,它们的数量是众所周知的(当然取决于“Values”数组的长度)。
但是我将如何创建值的绑定?
我想要以下内容:
Binding columnABinding = new Binding("Values[0]");
Binding columnBBinding = new Binding("Values[1]");
Binding columnCBinding = new Binding("Values[3]");
呃,对不起我的英语不好。我尽量保持简单,希望它是可以理解的! 提前感谢您的回答!
【问题讨论】: