仅包含一项的WPF组合框
如何以不同的方式显示只有一个项目的WPF组合框?当只有一个项目时,有可能选择一个元素是没有意义的。因此,我们希望只显示该项,而不是组合框仅包含一项的WPF组合框,wpf,combobox,Wpf,Combobox,如何以不同的方式显示只有一个项目的WPF组合框?当只有一个项目时,有可能选择一个元素是没有意义的。因此,我们希望只显示该项,而不是组合框 换句话说,,当源集合中只有一个项目时,组合框应该隐藏,并且应该显示第一个项目。您可以使用DataTrigger定义样式,当组合框中只有一个项目时,该样式将模板属性设置为自定义控制模板项目集合: <ComboBox ItemsSource="{Binding Items}"> <ComboBox.Style>
换句话说,,当源集合中只有一个项目时,组合框应该隐藏,并且应该显示第一个项目。您可以使用
DataTrigger
定义样式
,当组合框中只有一个项目时,该样式将模板
属性设置为自定义控制模板
项目
集合:
<ComboBox ItemsSource="{Binding Items}">
<ComboBox.Style>
<Style TargetType="ComboBox">
<Style.Triggers>
<DataTrigger Binding="{Binding Items.Count, RelativeSource={RelativeSource Self}}" Value="1">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBox">
<ContentControl Content="{Binding Items[0], RelativeSource={RelativeSource AncestorType=ComboBox}}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>
@TWT:你试过这个吗?