在我的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>
并使用“default”项创建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>
。每个qazxswpo应该绑定到ComboBox
的特定项目。像ObservableCollection<int>
之类的东西
你尝试绑定到SelectedValue了吗?
ComboBox1 {Binding Data[0].Value}, ComboBox2 {Binding Data[1].Value}