我在ItemControl中有一个组合框。 xaml是
<ComboBox ItemsSource="{Binding DataContext.NodeMembershipFunction,
RelativeSource={RelativeSource AncestorType={x:Type ItemsControl},
AncestorLevel=1}}"
DisplayMemberPath="_Name"
SelectedValue="{Binding Condition, Mode=TwoWay}"
SelectedValuePath="_Type">
</ComboBox>
我的组合框在上面工作正常,所以我没有发布任何代码来解释上面。
我的问题是,当我向ItemControl添加新项目时,combox没有选择任何内容(根据我的代码,这是正确的)。有没有办法在上面添加一个触发器或什么东西,只有当没有选择任何东西时才选择第一个项目,例如添加新的itemcontrol?
答案 0 :(得分:2)
在comboBox实例上设置IsSynchronizedWithCurrentItem="True"
,使其始终与当前的集合项同步。
<ComboBox IsSynchronizedWithCurrentItem="True"..../>
此外,在集合中添加项目不会使SelectedItem消失,除非您重新初始化整个列表。
我建议使用ObservableCollection<T>
作为属性NodeMembershipFunction
,以防没有这样做,并将项目直接添加到集合中而不是重新填充它。