2014-02-12 23 views
1

在我的DataGrid中,如果我具有以下绑定,那么我得到的User_ID没有问题。每一行都是用户记录。我如何改变这个来绑定实际的用户对象?所以我可以把它发送到我的转换器。如何在DataGridRow上绑定对象

{Binding Path=DataContext.User_ID, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}}}" 

回答

1

尝试从绑定路径删除.User_ID

{Binding Path=DataContext, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}}}" 
+0

害怕这没有奏效。我在转换器中测试它:Users.User u = values [0]作为Users.User; Console.WriteLine(“{0}”,(u == null));它输出真实。 – Hank

+0

如果在Visual Studio的监视窗口中放置了“values [0]”,那么column'type'内容是什么?换句话说,你实际得到的是什么类型的值[0]?因为如果'values [0]'实际上为null,或者如果转换为键入'Users.User'失败,则可能发生null。 – har07

+1

啊,你是对的钱,绑定工作,但是我把它投入到用户时,它应该是UserViewModel。就像一张纸条一样,我也尝试了克里斯的建议,但是如果没有这条路,它就无法工作。 – Hank

0

从绑定删除 '路径' 如下:

{Binding RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}}} 
+0

恐怕这没有奏效。我在转换器中测试它:Users.User u = values [0]作为Users.User; Console.WriteLine(“{0}”,(u == null));它输出真实。 – Hank