C# 绑定分类列表<;对象,对象>-MVVM应用程序中DataGridColumn的项
在我的MVVM应用程序中,我将SortedList作为模型中的属性:C# 绑定分类列表<;对象,对象>-MVVM应用程序中DataGridColumn的项,c#,wpf,binding,datagrid,sortedlist,C#,Wpf,Binding,Datagrid,Sortedlist,在我的MVVM应用程序中,我将SortedList作为模型中的属性: public SortedList<Geschäftsjahr, Stückzahl> IstStückzahlListe { get { return istStückzahlListe; } set { if (istStückzahlListe == value) { return;
public SortedList<Geschäftsjahr, Stückzahl> IstStückzahlListe
{
get
{
return istStückzahlListe;
}
set
{
if (istStückzahlListe == value)
{
return;
}
istStückzahlListe = value;
}
}
公共分类列表IstStückzahliste
{
得到
{
返回伊斯特库扎赫利斯特;
}
设置
{
if(istStückzahliste==值)
{
返回;
}
istStückzahliste=值;
}
}
现在,我想将这个SortedList的一项绑定到一个DataGrid列。为此,我为每个KeyValuePair创建一个具有特定绑定的DataGridColumn对象:
foreach(KeyValuePair<Geschäftsjahr, Stückzahl> kvp in IstStückzahlListe)
{
cols.Add(new DataGridTextColumn {
Header = kvp.Key,
Binding = new Binding(String.Format("IstStückzahlListe[" + kvp.Key + "].Number"))
});
}
foreach(IstStückzahliste中的KeyValuePair kvp)
{
添加(新的DataGridTextColumn{
Header=kvp.Key,
Binding=新绑定(String.Format(“IstStückzahlListe[“+kvp.Key+”].Number”))
});
}
此外,我认为重要的是要知道,Geschäftsjahr
-对象由两个独立的年份组成(例如:2017/18),而ToString()方法返回的数据正是这种格式
遗憾的是,DataGrid列是空的 谢谢
Nicolas“遗憾的是,DataGrid列是空的…”-这对我来说意味着绑定不正确。在输出窗口中,它应该显示绑定失败的警告,您应该检查该输出。输出窗口多次显示以下错误:
System.Windows.Data错误:40:BindingExpression路径错误:“[]”属性未在“对象”“值列表”(HashCode=48701244)上找到。BindingExpression:Path=IstStückzahliste[2017/18]。GeschäftsjahresWert;DataItem='Baugrö223'e'(HashCode=66729601);目标元素为“TextBlock”(名称=“”);目标属性为“Text”(类型为“String”)
我认为它与键有关,我用于SortedList访问。但是我不知道该怎么改。看起来键是null
。尝试调试并查看它返回的值。