0

ItemsControl のデータ ソースを直接クエリせずに実現されていない WPF VirtualizingStackPanel 内の項目のインデックスを取得することは可能ですか? 私が考えることができる唯一のことは、ItemContainerGenerator を使用することですが、アイテムのインデックスを返すものは見つかりませんでした。

私は基本的に、特定のアイテムが水平スタック パネルの現在のビューポート範囲の前または後にリストされているかどうかを判断しようとしています。

// ? get item index

if (itemIndex < 0) return;

var viewIndexLeft = virtualizingStackPanel.HorizontalOffset;
var viewIndexRight = viewIndexLeft + virtualizingStackPanel.ViewportWidth;

if (itemIndex < viewIndexLeft)
{
    // indicate LEFT
}
else if (itemIndex > viewIndexRight)
{
    // indicate RIGHT
}
4

0 に答える 0