组合框的默认文本

时间:2014-03-21 12:17:47

标签: c# wpf xaml combobox

我想在我的组合框中使用默认文本,因为我已将我的组合框绑定到某些项目列表...这是我的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>

4 个答案:

答案 0 :(得分:1)

您是否尝试过Text Property

<ComboBox x:Name="ProjectComboBox"
  IsEditable=True
  Text="{Binding ProjectNameBinding}" ....../>

您可以使用SelectedIndex属性并将其设置为0(SelectedIndex = 0),它显示Source中的第一个项目。

您可以像在链接How to display default text "--Select Team --" in combo box on pageload in WPF?

中那样执行此操作

答案 1 :(得分:1)

我通过采用新的文本块并在其上应用触发器来实现它,并使用它帮助的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>

答案 2 :(得分:0)

尝试:

DefaultText="Not Specified"

答案 3 :(得分:0)

  

在页面加载或表单加载

中尝试此操作
 comboBox.SelectedItem = null;
 comboBox.Text = "---select an item---";