如何从数据网格中的选定项获取一行的值?

时间:2012-08-31 00:40:09

标签: c# wpf wpfdatagrid

我有一个WPF数据网格,我正在尝试获取所选项目的第一行的值。我已根据之前在此处找到的问题尝试使用以下内容,但没有成功:

var eventid = dataGridArchiveQueue.SelectedItem;

也尝试过:

var eventid = dataGridArchiveQueue.Columns[0].GetValue(dataGridArchiveQueue.SelectedItem);

我不理解什么?

2 个答案:

答案 0 :(得分:1)

如果您正在使用MVVM,则可以将视图模型中的对象绑定到datagrid的SelectedItem属性;

<DataGrid SelectedItem="{Binding SelectedItemInMyViewModel}" ... >
...
</DataGrid>

然后在您的视图模型中,您可以使用您喜欢的任何类型公开此属性(意味着您不需要将其强制转换,但是提供它的类型为您绑定到DataGrid的Array / List对象& #39; s ItemsSource

例如,如果您将List绑定到datagrid,则可以使用视图模型;

public Person SelectedItemInMyViewModel { get; set; }

然后,只要您想查看所选项目,就可以查看该属性。

答案 1 :(得分:0)

SelectedItem是您的行object,您需要cast返回项目类型才能访问其成员。

相关问题