DataGrid – “双向绑定需要Path或XPath。”
我想在DataGrid上显示我的对象数据库
public class Student { public string Imie { get; set; } public string Nazwisko { get; set; } string Numer { get; set; } internal List Telefony { get; set; } internal Adres Adres { get; set; } }
在Adres和Telefon课程中,我显然有一些额外的领域。
我的XAML:
我可以很容易地设置Imie , Nazwisko和Numer字段但是当我试图设置Ulica的值( Adres类中的字段)编译器给我这个例外:
InvalidOperationException was unhandled Two-way binding requires Path or XPath.
感谢帮助。
我怀疑Adres
绑定属性为null所以当您尝试编辑绑定Binding="{Binding Adres.Ulica}"
的列值时,它会尝试为Adres.Ulica设置值,但Adres本身为null。 因此绑定在加载时无声地失败。
您必须确保为所有绑定对象初始化Adres,以便您可以从dataGrid编辑其子属性Ulica
的值。
在您的视图模型中, Telefony
和Telefony
属性都声明为internal
属性。 尝试将这些属性更改为public
。 检查绑定源类型
您可以绑定到公共属性 ,子属性以及索引器
你还提到过你可以让Numer
工作但是在示例代码中它似乎被声明为private
,它不是有效的绑定源。
问题是由于绑定成员名称中的。(点)。 请参阅: 在C#/ WPF中绑定到包含DataTable中句点的字段