还有其他文章关于此,但没有任何适合我的情况编程设置选定的值。以编程方式在窗口启动时设置数据绑定组合框
我有一个WPF窗口有一个组合框,并作为该窗口的输入,我有一个ID值对应于此数据绑定组合框中的值。我试过几种方法来设置combobox.SelectedItem或者combobox.SelectedIndex等,每次都不会改变。更深入地看,因为我在调用InitializeComponent()之后从窗口构造函数执行此操作。不幸的是,combobox.Items没有被填充,所以Items列表的计数为0.绑定正确地发生,但显然它不会被挂钩,直到窗口构造函数完成之后。
这是组合框的下调XAML:
<ComboBox Name="Combobox_cmb" Grid.Column="0" Grid.Row="0" ItemsSource="{Binding Path=Names}" DisplayMemberPath="Name" SelectedValuePath="Name" SelectionChanged="Name_cmb_SelectionChanged" />
当然,“名”是被试图设置所选值之前加载的可观察名单。即使填充后端列表,如果在填充列表之后并在设置所选值之前查看Combobox_cmb.Items,Combobox_cmb.Items为空。
有没有办法将值传递给窗口,并有一个组合框默认为该项目?
谢谢
您如何/在哪里实例化窗口,并且您使用的是MVVM模式和/或任何MVVM框架? – goobering