Я написал класс очереди с хорошим приоритетом,
class ConcurrentPriorityQueue<T>
: IProducerConsumerCollection<KeyValuePair<int,T>>, INotifyCollectionChanged
where T : INotifyPropertyChanged
, который я сейчас хочу обернуть в BlockingCollection
,
Queue = new ConcurrentPriorityQueue<DownloadItem>(10);
Buffer = new BlockingCollection<KeyValuePair<int, DownloadItem>>(Queue, 1000)
{
new KeyValuePair<int, DownloadItem>(0, new DownloadItem{Url = "stackoverflow.com"})
};
Так что это может добавить максимальную емкость и, надеюсь, некоторую безопасность потока. Однако теперь я, похоже, утратил наблюдаемую функциональность!
Как я могу подключить DataGrid к этой коллекции, чтобы он все еще получал уведомления об изменениях коллекции?