Что означает «refre sh» ObservableCollection, как указано в документации? - PullRequest
0 голосов
/ 02 апреля 2020

Документация для ObservableCollection.CollectionChanged Event состояний:

"Происходит, когда элемент добавляется, удаляется, изменяется, перемещается или весь список равен refreshed . "

( ObservableCollection говорит то же самое.)

Что означает" refre sh "?

В ObservableCollection нет метода "Refresh()", и все, что звучит так, будто оно это делает. Слово "refre sh" больше нигде не используется в документации по этому классу, которую я могу найти.

Аналогично, его базовый класс Collection также не имеет ничего.

В Сначала я представлял себе метод, который вручную вызывает событие INotifyCollectionChanged или что-то подобное, для использования в тех случаях, когда вы фактически не добавляете / удаляете из коллекции. Но очевидного способа сделать это не существует.

Аналогично, даже справочный исходный код для этого класса упоминает только "refre sh" в заголовке комментария и больше нигде.

Документация неверна? Или я упускаю некоторые тонкости того, как бы вы «перефразировали» sh объект ObservableCollection?

Ответы [ 2 ]

0 голосов
/ 03 апреля 2020

может быть это?

public class CustomObservableCollection<T> ;
{
        public void Refresh();
        {
            for (var i = 0; i < this.Count(); i++)
                this.OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
        }
}
0 голосов
/ 03 апреля 2020

Надеюсь, этот блок кода работает для вас.

public class CustomObservableCollection<T> : ObservableCollection<T>
{
        public void Refresh()
        {
            for (var i = 0; i < this.Count(); i++)
                this.OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
        }
}
...