C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 136 を表示中)
■79901 / )  Re[6]: ListViewのアイテムから座標を取得する方法について
□投稿者/ ぶなっぷ (87回)-(2016/05/27(Fri) 10:25:20)
ListView.ItemContainerGenerator.ContainerFromIndex()
で返ってくるのは、DependencyObjectですが、その実体は、ListViewItemになります。

なので、
  var listViewItem = ListView.ItemContainerGenerator.ContainerFromIndex(Idx) as ListViewItem;
とすれば、listViewItemが取得できます。

listViewItemはListViewの1レコードを表す実際のコントロールになります。

listViewItemの座標系において、listViewItemの左上は当然(0, 0)なので、(0, 0)をスクリーン座標系に
変換すると、
  var listViewItemRect = listViewItem.PointToScreen(new Point(0, 0)));
listViewItemの左上座標になります。

listViewItemの幅/高さは、ActualWidth/ActualHeightなので、
求めた左上座標と、幅/高さを合わせれば、listViewItemの矩形が分かるわけです。

返信 編集キー/


管理者用

- Child Tree -