我有一个需要绑定到某个字典值的ComboBox。这是因为我可以在我的应用程序上有N个标签(每个标签都有一个ID),在每个标签中我都有一个ComboBox。现在我有:
ComboBox cb = new ComboBox()
{
Width = 200,
Height = 26,
Name = "cbRelatorio" + id
};
Binding bindingCb = new Binding();
bindingCb.Source = DataContext;
bindingCb.Path = new PropertyPath("ReportSheet[" + id + "]");
bindingCb.Mode = BindingMode.TwoWay;
bindingCb.ValidatesOnDataErrors = true;
cb.SetBinding(ComboBox.SelectedValueProperty, bindingCb);
sheetPanel.Children.Add(cb);
那" id"通过该方法接收并且关于我在开始时谈到的ID。例如,在ReportSheet[1]
上,我将在第一个标签上显示组合框的选定值。
如果我选择了值,则在组合框中将其保存在字典中,但如果已经设置了相应的值,则不要在创建的组合框中显示。我在这里错过了什么吗?
例如,如果我有一个组合框:
并选择其中一个选择到我的ReportSheet [1]。
我想要的是定义默认值,比如选项2:
combobox.itemssource = datacontext;
ReportSheet[1].SelectedValue = "Option 2";
当组合框装入第一个是空的时候,没有选择"选项2"。