我有一个WPF数据网格,我正在尝试获取所选项目的第一行的值。我已根据之前在此处找到的问题尝试使用以下内容,但没有成功:
var eventid = dataGridArchiveQueue.SelectedItem;
也尝试过:
var eventid = dataGridArchiveQueue.Columns[0].GetValue(dataGridArchiveQueue.SelectedItem);
我不理解什么?
答案 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返回项目类型才能访问其成员。