1

我希望将在运行时创建的 ComboBox 绑定到 ViewModel 上的属性。

我已经尝试过这些方面的东西

combobox.SetBinding(ComboBox.SelectedValueProperty,
    new Binding("WCSettings.ViewModels.WinCAPSIniViewModel.selectedItem")
    {
        Source = combobox.SelectedValue,
        Mode = BindingMode.OneWayToSource
    });

绑定只需要一种方式(View --> ViewModel),因此可以将值存储在数据库中。'combobox' 是正在创建的 ComboBox 的实例。

4

1 回答 1

1

绑定SelectedValueComboBox 的属性并同时Source将绑定设置为相同的属性是没有意义的。

您需要有一个视图模型的实例并将其用作绑定源。除非您还设置了SelectedValuePathComboBox 的属性,否则您应该绑定该SelectedItem属性。

WCSettings.ViewModels.WinCAPSIniViewModel viewModel = ...

combobox.SetBinding(ComboBox.SelectedItemProperty,
    new Binding("selectedItem")
    {
        Source = viewModel ,
        Mode = BindingMode.OneWayToSource
    });

万一你忘记了,selectedItem 需要是 WinCAPSIniViewModel 类中的公共属性。

于 2013-09-26T11:09:37.433 回答