Я ищу INotifyCollectionChanged
реализация Stack
и Queue
. Я мог прокрутить свое собственное, но я не хочу изобретать велосипед.
С Стеки и очереди (почти по определению) у вас есть доступ только к вершине стека или главе очереди. Это то, что отличает их от Списка
. (и вот почему вы его не нашли)
Чтобы ответить, хотя вы могли бы написать свой собственный, я бы сделал это, производя от ObservableCollection
, а затем в случае стека, реализующего Нажмите
как Insert
со смещением 0 (и вытолкните как возвращающий индекс 0, затем RemoveAt
index 0); или с очередью вы можете просто Добавить
в конец списка в Enqueue
, а также захватить и удалить первый элемент, как со стеком, для Dequeue
]. Операции Insert
, Add
и RemoveAt
будут вызываться для базового ObservableCollection
и, таким образом, вызвать событие CollectionChanged
быть уволенным.
Вы также можете сказать, что просто хотите привязать или получать уведомление, когда один элемент, к которому у вас должен быть доступ, изменится. Вы должны снова создать свой собственный класс, производный от Stack или Queue, и запустить событие CollectionChanged вручную, когда: