|
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の矩形が分かるわけです。
|