将动态创建的组合框绑定到视图模型上的属性



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

我已经尝试过类似的东西

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

绑定只需要单向(View --> ViewModel),因此可以将值存储在数据库中。"组合框"是正在创建的组合框的实例。

绑定 ComboBox 的 SelectedValue 属性并同时将绑定Source设置为同一属性是没有意义的。

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

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

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

最新更新