如何获取在wpf中绑定到datagrid列的属性的名称?
我有一个包含近30列的数据网格,我需要获取绑定到列的属性的名称。我正在使用datagrid的datagrid_selectedcellschanged(sender,selectedeventargs)事件。如何获取在wpf中绑定到datagrid列的属性的名称?
我不知道你所说的属性名称的意思 - 列标题或单元格值
如果你指的是列标题你可以这样得到它
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();
回答,我们必须将列绑定到我们绑定的项目或对象的属性,所以我想要我拥有的属性将这一列绑定到。 – kedarK 2014-10-13 11:54:20
你可以的SelectionChanged做到这一点,
private void peopleGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selectedObj= peopleGrid.SelectedItem as YourObject;
if(selectedObj != null)
{
int PersonID = selectedObj.PersonID;
}
}
是感谢您的帮助,但这并不能帮助我,因为我有30列左右,我会动态地要属性。 – kedarK 2014-10-10 10:27:52
@kedarK你应该使用反射 – Sajeetharan 2014-10-10 10:50:47
我不得不使用列标题,当我们使用mvvm时,由卡宾枪编码器 – kedarK 2014-10-13 11:53:05
你是如何将数据绑定到datagrid的? – Sajeetharan 2014-10-09 17:09:28
通过MVVM,类型列表 – kedarK 2014-10-09 17:13:33
您可以发布该类型和您绑定的代码 – Sajeetharan 2014-10-09 17:16:54