我已经准备好了很多关于将Observable Collection绑定到ComboBox的文章,但我仍然无法弄清楚为什么我的集合没有绑定到放置在DataGrid中的ComboBox。将ObservableCollection绑定到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;
}
}
的DataContext:
<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绑定到tihs视图模型:
<DataGrid ItemsSource="{Binding Path=ArtikliStoritveData}
在视图模型构造我绑定到集合:
DDV _ddv;
public ArtikliStoritveViewModel()
{
_ddv = new DDV { ID = 1, Naziv = "Ceka" };
DDVData.Add(_ddv);
}
所以一切都必须留在这个视图模型中。
我还需要做些什么来完成这项工作。目前没有任何约束力。
问候, 伊戈尔
我在模型视图一些其他观察到的集合,所以我不能在DDV模型将其更改为DDVDData: 公众的ObservableCollection ArtikliStoritveData { 得到{_artikliStoritveData; } set { _artikliStoritveData = value; OnPropertyChanged(“ArtikliStoritveData”); } }
Igor
请将您的代码添加到*问题末尾*和*不*在*注释*中,难以查看。另外,我并不完全明白你的意思。我添加了 – Sheridan
。 “输出”窗口中没有任何错误或警告。 – Igor