2

大量のデータがあるため仮想化を使用するMultipleSelectionTreeViewから継承を作成しました。ItemsControl

ツリーでアイテムを選択したら、下にスクロールしてShiftキーを押しながら他のアイテムを選択すると、2つの間のアイテムも選択されます。

この関数を使用して次のアイテムを取得し、後で選択したように設定します。

    internal MultipleSelectionTreeViewItem GetNextNodeAtSameLevel()
    {
        MultipleSelectionTreeViewItem nextNodeAtSameLevel = null;

        ItemsControl parentControl = ParentItemsControl;
        if (parentControl != null)
        {
            int index = parentControl.ItemContainerGenerator.IndexFromContainer(this);
            if (index != parentControl.Items.Count - 1) // if this is not the last item
            {
                var item = ParentControl.ItemContainerGenerator.ContainerFromIndex(index + 1);
                nextNodeAtSameLevel = item as MultipleSelectionTreeViewItem;
            }
        }

        return nextNodeAtSameLevel;
    }

アイテムは私にとってnullです。これは仮想化によるものだと思います

これを解決するための回避策はありますか?または、独自の仮想化パネルを作成する唯一の方法

4

0 に答える 0