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 に答える