0

我正在尝试在 WPF 中实现我自己的 VirtualWrapPanel。

我以这种方式实现它:

public class VirtualWrapPanel : VirtualizingPanel, IScrollInfo
    {

         ....

    protected override void OnItemsChanged(object sender, ItemsChangedEventArgs args)
        {
            switch (args.Action)
            {
                case NotifyCollectionChangedAction.Remove:
                case NotifyCollectionChangedAction.Replace:
                case NotifyCollectionChangedAction.Move:
                    base.RemoveInternalChildRange(args.Position.Index, args.ItemUICount);
                    return;
            }
        }

}

但是永远不会调用 OnItemsChanged 方法,导致控件不释放对象......知道吗?谢谢乔纳森

4

1 回答 1

0

您的 ItemsSource 是否实现了 INotifyCollectionChanged?最简单的方法是使其成为 ObservableCollection

于 2009-01-09T17:57:07.853 回答