在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}
答案 0 :(得分:2)
您尝试绑定到SelectedValue吗?
SelectedValue="{Binding Data[0]}"