2014-10-09 89 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

相关问题