これを行うには、2 つの一般的な方法があります。GridViewItem
1 つ目は'sを取得することですAutomationPeer
。これには、実際に直接呼び出すメソッドがあります。クラス情報はこちら. ただし、これを実際に使用できるようにするのに問題がありました。幸いなことに、2 つ目の答えがあります。いくつかの計算を行う必要がありますが、実行可能です。
- の
GridViewItem
を使用して、アイテム コンテナ (この場合は ) を取得します。GridView
ItemContainerGenerator
- を取得し
GridView
ますScrollViewer
。メソッドを検索できますFindVisualChild<T>
。周りにはたくさんあります。
- これにより、アイテムのスクロール可能なパネル全体(として知られている)
MyGridViewItem.TransformToVisual(MyGridViewScrollViewer).TransformPoint(new Point(0, 0));
に対して、アイテムの左上隅が取得されます(これは後で重要になります)。Extent
ScrollViewer
これにより、オブジェクトが返されますPoint
。
X
次に、現在 に表示されている値の範囲を調べる必要がありますScrollViewer
。
注: 垂直スクロールScrollViewer
を使用している場合は、Height
s を使用します。水平、Width
s を使用します。両方、両方使う。水平/幅を使用して例を実行します。
- を取る
HorizontalOffset
。これは、現在表示可能な領域の現在の「下限」です。
HorizontalOffset
プラスを取りViewportWidth
ます。これは、現在表示可能な領域の上限です。
- が下限
Point.X
よりも大きく、上限よりも小さい場合、アイテムは表示されます。
アイテム全体が表示されているかどうかをさらに確認する必要がある場合は、に対して同じ計算を行いPoint.X + GridViewItem.Width
ます。
これがお役に立てば幸いです。コーディングをお楽しみください。