2013-03-03 4 views
1

У меня нет большого опыта работы с ListView и с привязкой.Как связать ConcurrentDictionary с WPF ListView?

У меня есть ConcurrentDictionary

Где ключ долго и тест класс, который имеет несколько государственных атрибутов.

Я хочу иметь представление списка с столбцами, показывающими некоторые из этих атрибутов (редактирование не требуется), а когда пользователь выбирает элемент из списка, можно получить доступ к соответствующему тестовому объекту.

Я хочу также убедиться, что операции будут потокобезопасными, поскольку я использую параллельный словарь, в котором задачи могут добавлять элементы к нему в любое время.

Я использую .Net Framework 4.5, Visual Studio 2012.

+1

При привязке к коллекции, где элементы добавляются динамически необходимо использовать набор, который реализует [INotifyCollectionChanged] (http://msdn.microsoft.com/en-us/library/System .Collections.Specialized.INotifyCollectionChanged.aspx), например [ObservableCollection] (http://msdn.microsoft.com/en-us/library/ms668604.aspx). – Clemens

ответ

0

Написать значение конвертер для этого. При добавлении элементов вы можете просто уведомить модель всего диктатного вида (которая реализует INotifyPropertyChanged) свойство изменено, и список будет заселен. Но вы можете обернуть ConcurrentDictionary в своей коллекции, который реализует INotifyCollectionChanged. Примеры: here и here

Смежные вопросы