Я хотел бы привязать Dictionary<string, int> к ListView в WPF. Я хотел бы сделать это таким образом, чтобы Values в Dictionary обновлялся через механизм привязки данных. Я не хочу менять Keys только Values. Мне также не нужно добавлять новые сопоставления в Dictionary. Я просто хочу обновить существующие.
Установка словаря как ItemsSource для ListView не выполняет этого. Это не работает, потому что ListView использует Enumerator для доступа к содержимому Dictionary, и элементы этого перечисления являются неизменяемыми KeyValuePair объектами.
В моей текущей строке исследования используется свойство Keys. Я присваиваю это свойству ItemsSource моего ListView. Это позволяет мне отображать Keys, но я не знаю достаточно о механизме привязки WPF для доступа к Values в Dictionary.
Я нашел этот вопрос: Доступ к переменной codebehind в XAML, но по-прежнему не может устранить пробел.
Кто-нибудь из вас знает, как заставить этот подход работать? Кто-нибудь имеет лучший подход?
Кажется, что в качестве последнего средства я мог бы создать пользовательский объект и вставить его в List, из которого я воссоздал/обновлял свой Dictionary, но это похоже на способ обойти встроенную привязку данных а не эффективно использовать его.