OnItemChanged не вызывается при попытке реализовать VirtualizingPanel в WPF - PullRequest
0 голосов
/ 09 января 2009

Я пытаюсь реализовать свою собственную VirtualWrapPanel в WPF.

Я реализую это так:

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 никогда не вызывается, в результате чего элемент управления не освобождает объекты ... Любая идея ? Спасибо Jonathan

1 Ответ

0 голосов
/ 09 января 2009

Реализует ли ваш ItemsSource INotifyCollectionChanged? Самый простой способ сделать это - сделать ObservableCollection

...