[英]WPF ComboBoxItem Style gets loaded after Combobox gets focus
我正在开发一个学习MVVM的应用程序。 我现在有一个问题,但找不到与我相似的案例。
首先我的代码:
<ComboBox Width="100" DisplayMemberPath="Name" ItemsSource="{Binding MyList}">
<ComboBox.Resources>
<Style TargetType="ComboBoxItem">
<Setter Property="IsSelected" Value="{Binding IsSelected}"/>
</Style>
</ComboBox.Resources>
</ComboBox>
我有一个简单的对象列表,其结构如下:
我对象的这个列表绑定到我的ComboBox
,并绑定IsSelected
我的对象到的,物业IsSelected
的的,物业ComboBoxItem
。 绑定工作正常,我的对象在ComboBox
,如果我选择一个项目,则IsSelected
-property会更新。
但是问题是,在应用程序启动时没有选定的项目可见。 我必须单击ComboBox
以便所选项目可见。 我认为ComboBoxItem
的样式是在其父级获得焦点之后加载的。
有什么解决办法吗?
您应该将ComboBox
的SelectedItem
属性设置或绑定到要选择的项目的实例:
<ComboBox Width="100" DisplayMemberPath="Name" ItemsSource="{Binding MyList}" SelectedItem="{Binding Selected}">
...
Selected = MyList.FirstOrDefault(x => x.IsSelected == true);
这是使用MVVM在ComboBox
框中选择项目的方式。 您没有定义ComboBoxItem
样式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.