显示“;选择项目“;当selectedItem为null时,在组合框中
本文关键字:组合 项目 选择 selectedItem 显示 null | 更新日期: 2023-09-27 18:26:57
我有一个绑定到viewModel对象列表的WPF组合框。最初SelectedItem为空,因此组合框显示为空。
当所选项目为空时,我更希望组合框显示"选择项目",以引导用户从组合框中选择一些内容。有点像这样,一些文本框包含灰色文本,如"输入用户名"
有什么想法吗?
编辑:
我最终使用了这个建议来覆盖一个文本框,并根据SelecteItem 的值更改其可见性
Try This-根据代码更改ItemsSource和SelectedValue。我刚刚展示了你是如何做到这一点的。。
<ComboBox Height="23" Name="comboBox1" Width="120" ItemsSource="{Binding OCString,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,RelativeSource={RelativeSource AncestorType=Window}}" SelectedValue="{Binding Selected,Mode=TwoWay,RelativeSource={RelativeSource AncestorType=Window},UpdateSourceTrigger=PropertyChanged}">
<ComboBox.Style>
<Style TargetType="{x:Type ComboBox}">
<Style.Triggers>
<Trigger Property="SelectedIndex" Value="-1">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox Text="Select an Item" IsReadOnly="True" IsEditable="True" ItemsSource="{Binding OCString,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,RelativeSource={RelativeSource AncestorType=Window}}" SelectedValue="{Binding Selected,Mode=TwoWay,RelativeSource={RelativeSource AncestorType=Window},UpdateSourceTrigger=PropertyChanged}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>
或简单地->
<ComboBox Text="Select an Item" IsReadOnly="True" IsEditable="True" ItemsSource="{Binding OCString,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,RelativeSource={RelativeSource AncestorType=Window}}" SelectedValue="{Binding Selected,Mode=TwoWay,RelativeSource={RelativeSource AncestorType=Window},UpdateSourceTrigger=PropertyChanged}"/>