匿名質問者

vs2012 wpf4.0 c# の環境です。

普段WindowsFormで作成してますが、今後のUIも考えてと思い、WPFを始めてみました。

ListView(shainListView)へデータバインドでデータを表示して、
SingleRowのRowFullSelectで行を選択。

その行に表示しているデータを取得したいのですが出来ません。

MicrosoftのサイトにListBoxでの例があったので下記のように変更してみたのですが、

ListViewItem itemx = ((shainListView as ListView).SelectedItem as ListViewItem);

エラー等は出ないのですが、実際はitemxはnullが入ってしまいます。
ブレイクで留めたときにSelectedItemの部分を見ると欲しい行が出てきてはいます。

正直WindowsFormなら悩まないような部分なのですが・・・・
どうしたらよいかヒントでもいただけませんでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/05/12 18:35:37

ベストアンサー

匿名回答1号 No.1

ブレイクで止めたとき、SelectedItemに入っている値の型も表示されていますよね? それは何になっていますか?

匿名質問者

すみませんでした。

匿名回答1号さんの言葉をヒントにキャストする型を変更したところ、

System.Data.DataRowView itemx = (shainListView.SelectedItem) as System.Data.DataRowView;

で itemx にDataRowViewの形式で入りまして、
itemx[0]やitemx["name"]等の形式でアクセスできました。

頭が回らなかったですね・・・

ありがとうございました。

2013/05/12 18:35:28

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません