【发布时间】:2014-03-18 21:01:19
【问题描述】:
我已经准备好很多文章,其中包括将 Observable Collection 绑定到 ComboBox,但我仍然无法弄清楚为什么我的集合没有绑定到放置在 DataGrid 中的 ComboBox。
我的模特
class DDV
{
public DDV(int ID, string Naziv)
{
_ID = ID;
_Naziv = Naziv;
}
private int _ID;
public int ID
{
get { return _ID; }
set { _ID = value; }
}
private string _Naziv;
public string Naziv
{
get { return _Naziv; }
set { _Naziv = value; }
}
我的视图模型:
class ArtikliStoritveViewModel : INotifyPropertyChanged
{
public ArtikliStoritveViewModel()
{
DDVData.Add(new DDV(1, "Ceka"));
DDVData.Add(new DDV(2, "Zeka"));
}
private ObservableCollection<DDV> _DDVData = new ObservableCollection<DDV>();
public ObservableCollection<DDV> DDVData
{
get
{
return this._DDVData;
}
set
{
_DDVData = value;
}
}
数据上下文:
<Window.DataContext>
<local:ArtikliStoritveViewModel/>
</Window.DataContext>
绑定:
<DataGridTemplateColumn Header="Test">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox
x:Name="cmbDDV"
ItemsSource="{Binding DDVData}"
DisplayMemberPath="Naziv"
/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我在视图模型中有可观察的集合:
private ObservableCollection<DDV> _DDVData = new ObservableCollection<DDV>();
public ObservableCollection<DDV> DDVData
{
get
{
return this._DDVData;
}
set
{
_DDVData = value;
}
}
我的 DataGrid 绑定到视图模型:
<DataGrid ItemsSource="{Binding Path=ArtikliStoritveData}
在视图模型的构造函数中我绑定到集合:
DDV _ddv;
public ArtikliStoritveViewModel()
{
_ddv = new DDV { ID = 1, Naziv = "Ceka" };
DDVData.Add(_ddv);
}
所以一切都必须留在这个视图模型中。
我还需要做什么才能完成这项工作。目前没有任何约束力。
问候, 伊戈尔
【问题讨论】:
标签: c# wpf binding datagrid observablecollection