组合框的默认文本

本文关键字:文本 默认 组合 | 更新日期: 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---";