読者です 読者をやめる 読者になる 読者になる

らこらこブログ

唐揚げとアニメとプログラミングが大好きです

WPFのDataGridで選択されたセルの行インデックスを取得

C# WPF

WPFのDataGridでExcelの表みたいなものを作ってるんですが、選択されたセルの行番号を取得するプロパティがなくて唖然としました。
予想では


int row = dataGrid.CurrentCell.Row;

みたいなものがあると思ってたんですがまさか何列目かしか取得できないとは(CurrentCell.Columnはある)

というわけでいろいろいじった結果こんな感じで取得できました。


int row = dataGrid.Items.IndexOf(dataGrid.CurrentItem);

もっとスマートな方法があったら誰か教えてください。

[追記]
この方法では列をソートするとItemsの並びとdataGridの並びがずれて取得がうまくいかないので、ソートできない設定にしないといけないようです。
どうにか別の方法を探さないと…