В моем классе ViewModel у меня есть свойства Dictionary<int,string>
и ObservableCollection<int>
.
private Dictionary<int, string> comboBoxDisplay;
public Dictionary<int, string> ComboBoxDisplay
{
get { return comboBoxDisplay; }
set
{
comboBoxDisplay = value;
RaisePropertyChanged("ComboBoxDisplay");
}
}
public ObservableCollection<int> Data{ get; set; }
В конструкторе класса ViewModel я добавляю элементы в Dictionary<int, string>
и создаю экземпляр ObservableCollection<int>
с элементами по умолчанию.
ComboBoxDisplay = new Dictionary<int, string>();
ComboBoxDisplay.Add(1, "Never");
ComboBoxDisplay.Add(2, "Rarely");
ComboBoxDisplay.Add(3, "Sometimes");
ComboBoxDisplay.Add(4, "Often");
ComboBoxDisplay.Add(5, "Usually");
ComboBoxDisplay.Add(6, "Allways");
Data = new ObservableCollection<int>{1,1,1,1,1,1};
В XAML у меня есть 6 ComboBox
вроде:
<ComboBox Margin="5" ItemsSource="{Binding ComboBoxDisplay}" SelectedIndex="0" SelectedValuePath="Key" DisplayMemberPath="Value">
Они отображают данные правильно, но я не могу понять, как связать данные с ComboBox
до ObservableCollection<int>
. Каждый ComboBox
должен быть привязан к определенному элементу ObservableCollection<int>
. Что-то вроде ComboBox1 {Binding Data[0].Value}, ComboBox2 {Binding Data[1].Value}