2014-02-12 29 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