ComboBox 到 select 创建时的第一个值
ComboBox to select first Value when created
我在 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 添加新项目时,组合框没有任何选择(根据我的代码,这是正确的)。有什么方法可以添加触发器或上面的东西,只有在没有选择任何东西时才选择第一个项目,例如在添加新的项目控件时?
在 comboBox 实例上设置 IsSynchronizedWithCurrentItem="True"
,以便它始终与当前集合项同步。
<ComboBox IsSynchronizedWithCurrentItem="True"..../>
此外,在集合中添加项目不会使 SelectedItem 消失,除非您重新初始化整个列表。
我建议将 ObservableCollection<T>
用于 属性 NodeMembershipFunction
以防万一还没有这样做,并直接将项目添加到集合中而不是重新填充它。
我在 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 添加新项目时,组合框没有任何选择(根据我的代码,这是正确的)。有什么方法可以添加触发器或上面的东西,只有在没有选择任何东西时才选择第一个项目,例如在添加新的项目控件时?
在 comboBox 实例上设置 IsSynchronizedWithCurrentItem="True"
,以便它始终与当前集合项同步。
<ComboBox IsSynchronizedWithCurrentItem="True"..../>
此外,在集合中添加项目不会使 SelectedItem 消失,除非您重新初始化整个列表。
我建议将 ObservableCollection<T>
用于 属性 NodeMembershipFunction
以防万一还没有这样做,并直接将项目添加到集合中而不是重新填充它。