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

わんくま同盟

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

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


(過去ログ 136 を表示中)
■79724 / )  Re[3]: ListViewのアイテムから座標を取得する方法について
□投稿者/ とっちゃん (353回)-(2016/05/09(Mon) 18:41:19)
No79720 (山丸 さん) に返信
> WPFでも、
> Point pt = control.PointToScreen(new Point(0.0d, 0.0d));で
> listview自体の座標の取得はできそうなのですが、各アイテムのマウス座標の
> 取得はできないのでしょうね。

具体的にどうすればいいかなどはわかりませんが、VisualTreeからたどれると
昔どこかで見たので、それでたどることになると思います。


ところで、描画オブジェクト(Visual)の位置を取得できたとしてそれでどうするのでしょう?

キャッシュする場合は、位置が変わる処理を全部トラップしないとダメですし
WPFがやってることと同じことを自分でやるくらいなら、特定のアイテムがどこにいるかじゃなくて
アイテムにマウスが来たらとイベントを受け取るほうがいいと思いますが?

バインディングを使ってるのであれば、IsMouseOver 依存プロパティでマウスがUIElementの上にいるかどうかを動的に受け取ることができます。
イベントであれば、MouseEnter/MouseLeave をで使えば同じようなことができます。

返信 編集キー/


管理者用

- Child Tree -