使用绑定到Dictionary的代码创建的WPF ComboBox

时间:2016-10-17 12:16:05

标签: c# wpf dictionary combobox

我有一个需要绑定到某个字典值的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]上,我将在第一个标签上显示组合框的选定值。

如果我选择了值,则在组合框中将其保存在字典中,但如果已经设置了相应的值,则不要在创建的组合框中显示。我在这里错过了什么吗?

例如,如果我有一个组合框:

  • 选项1
  • 选项2
  • 选项3

并选择其中一个选择到我的ReportSheet [1]。

我想要的是定义默认值,比如选项2:

combobox.itemssource = datacontext;
ReportSheet[1].SelectedValue = "Option 2";

当组合框装入第一个是空的时候,没有选择"选项2"。

0 个答案:

没有答案