0

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

var eventid = dataGridArchiveQueue.SelectedItem;

也试过:

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

我不明白什么?

4

2 回答 2

1

如果您使用 MVVM,您可以将视图模型中的对象绑定到数据网格的 SelectedItem 属性;

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

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

例如,如果您将列表绑定到数据网格,则可以在视图模型上拥有;

public Person SelectedItemInMyViewModel { get; set; }

然后,您可以在想查看所选项目时查看该属性。

于 2012-08-31T01:07:06.003 回答
0

SelectedItem是您的行装箱到object,您需要其转换回项目类型以访问其成员。

于 2012-08-31T00:43:22.553 回答