Словарь - определенно не удобный способ связывания данных в WPF. Кажется, ObservableCollection
больше соответствует вашим требованиям.
Что-то вроде:
public class ItemsList : ObservableCollection<Item>
{
public ItemsList() : base()
{
Add(new Item("item 1", 100));
Add(new Item("item 2", 120));
Add(new Item("item 3", 140));
Add(new Item("item 4", 160));
}
}
Item
- это простой класс со свойствами имени и значения. Я пропустил это здесь, потому что это говорит само за себя.
Преимущество здесь в том, что вы можете привязать к динамическому числу элементов, а не только те, которые объявлены обязательно.
Как только вы привяжете к нему текст данных, вы получите автоматическое уведомление свойства для двухсторонней привязки данных.
Ваш XAML должен будет измениться, чтобы обеспечить привязку к коллекции, конечно. Возможно ItemsControl
, который принимает эту коллекцию за ItemsSource
.