问题
I need to convert this following XAML into code-behind:
<ComboBox SelectedItem="{Binding Level}" ItemsSource="{Binding Levels}" />
However, this code doesn't compile:
new ComboBox() { SelectedItem = new Binding("Level"), ItemsSource = new Binding("Levels") }
The error: "Cannot implicitly convert type 'System.Windows.Data.Binding' to 'System.Collections.IEnumerable'. An explicit conversion exists (are you missing a cast?)". How do I cast?
回答1:
ComboBox cbo=new ComboBox();
cbo.SetBinding(ComboBox.SelectedItemProperty,new Binding("Level"){ /* set properties here*/});
cbo.SetBinding(ComboBox.ItemsSourceProperty,new Binding("Levels"));
....
来源:https://stackoverflow.com/questions/6252898/wpf-how-to-bind-combobox-itemssource-in-code