2014-10-09 90 views
0

我有一個包含近30列的數據網格,我需要獲取綁定到列的屬性的名稱。我正在使用datagrid的datagrid_selectedcellschanged(sender,selectedeventargs)事件。如何獲取在wpf中綁定到datagrid列的屬性的名稱?

+0

你是如何將數據綁定到datagrid的? – Sajeetharan 2014-10-09 17:09:28

+0

通過MVVM,類型列表 – kedarK 2014-10-09 17:13:33

+0

您可以發佈該類型和您綁定的代碼 – Sajeetharan 2014-10-09 17:16:54

回答

1

我不知道你所說的屬性名稱的意思 - 列標題單元格值

如果你指的是列標題你可以這樣得到它

string selectedColumnHeader = (string)myGrid.SelectedCells[0].Column.Header; 

如果你指的是單元格值,你可以像這樣得到它

DataRowView dataRow = (DataRowView)dataGrid1.SelectedItem; 
int index = datagrid1.CurrentCell.Column.DisplayIndex; 
string cellValue= dataRow.Row.ItemArray[index].ToString(); 
+0

回答,我們必須將列綁定到我們綁定的項目或對象的屬性,所以我想要我擁有的屬性將這一列綁定到。 – kedarK 2014-10-13 11:54:20

0

你可以的SelectionChanged做到這一點,

private void peopleGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     var selectedObj= peopleGrid.SelectedItem as YourObject; 
     if(selectedObj != null) 
     { 
     int PersonID = selectedObj.PersonID; 
     } 
    } 
+0

是感謝您的幫助,但這並不能幫助我,因爲我有30列左右,我會動態地要屬性。 – kedarK 2014-10-10 10:27:52

+0

@kedarK你應該使用反射 – Sajeetharan 2014-10-10 10:50:47

+0

我不得不使用列標題,當我們使用mvvm時,由卡賓槍編碼器 – kedarK 2014-10-13 11:53:05

相關問題