组合框的默认文本
本文关键字:文本 默认 组合 | 更新日期: 2023-09-27 17:51:21
我想在我的组合框上的默认文本,因为我已经将我的组合框绑定到某些项目列表…这是我的xaml文件的代码。
<ComboBox x:Name="ProjectComboBox"
Text="{Binding ProjectNameBinding}"
ItemsSource="{Binding projectList, ElementName=MainWin}"
SelectedValuePath="_id" DisplayMemberPath="_name"
SelectedItem="{Binding ProjectNameBindingClass, Mode=OneWayToSource}"
Width="130" Background="White" BorderThickness="1"
FontFamily="/TimeSheet;component/Resources/#Open Sans" FontSize="12"
Canvas.Right="159" Canvas.Top="8" Height="47">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding _name}" TextWrapping="Wrap"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
你试过了吗
<ComboBox x:Name="ProjectComboBox"
IsEditable=True
Text="{Binding ProjectNameBinding}" ....../>
或
您可以使用SelectedIndex属性并将其设置为0(SelectedIndex=0),显示源给定的第一个项。
或
你可以这样做,如在链接中如何显示默认文本"——选择团队-"在WPF页面加载的组合框中?
我最终通过获取一个新的文本块并在其上应用一个触发器实现了它,并使用它所帮助的IsNullConverter类
<TextBlock Text="Select Project" IsHitTestVisible="False" FontFamily="/TimeSheet;component/Resources/#Open Sans" FontSize="14" Canvas.Right="191" Canvas.Top="22">
<TextBlock.Resources>
<Converters:IsNullConverter x:Key="isNullConverter"/>
</TextBlock.Resources>
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=ProjectComboBox,Path=SelectedItem,Converter={StaticResource isNullConverter}}" Value="False">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
尝试:
DefaultText="Not Specified"
- 啊,对不起,我在想我的控制如何在组合框中显示文本时,没有选择项目?
在页面加载或表单加载
中尝试此操作
comboBox.SelectedItem = null;
comboBox.Text = "---select an item---";