我有一个ObservableCollection<Measure>
我想绑定到 DataGrid 的东西。
每次生成一个 Measure 时,我的程序都会检查该 Measure 的 name 属性是否曾被看到,如果没有,则生成一个新的DataGridTextColumn
. 每次将一个 Measure 添加到其对应的 ObservableCollection 时,此列都需要显示一个 Measure 的 Value 属性。我当前的代码非常简单,但不起作用......它显示了添加到集合中的第一个 Measure 的值,但之后没有。
Binding b1 = new Binding("Value"){Source = collection};
grid.Columns.Add(new DataGridTextColumn { Header = insName, Binding = b1});
//where grid is my DataGrid and collection is my ObservableCollection
我认为问题出在我的 DataGrid 的 ItemsSource 上。我将它设置在Dictionary<string, ObservableCollection<Measure>>
我用来存储和收藏的代码中。
编辑: 更多代码:
我在代码隐藏中添加了 DataGrid:
DataGrid grid = new DataGrid()
{
AutoGenerateColumns = true,
HeadersVisibility = DataGridHeadersVisibility.Column,
//...
ItemsSource = _data
};
some_StackPanel.Children.Add(grid);
所以 _data 是我的Dictionary<string, ObservableCollection<Measure>>
这是我的Measure
课:
public class Measure
{
//[some properties which aren't relevant]
public double Value { get; set; }
public string Name {get; set;}
}