2014-03-21 3 views
2

Мне нужен текст по умолчанию в моей combobox, поскольку я привязал свой поле со списком к определенному списку элементов ... вот мой код файла xaml.По умолчанию текст combobox

<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> 
+0

Я хочу новый автомобиль. – Sheridan

+0

помогает, если вы зададите конкретный вопрос в конце текста. это также, если вы описываете то, что вы уже пытались достичь, - поэтому вы проявляете собственные усилия, а не слепо позволяете другим работать на вас. ;-) –

+0

Возможный дубликат http://stackoverflow.com/questions/1426050/how-to-display-default-text-select-team-in-combo-box-on-pageload-in-wpf – Sajeetharan

ответ

1

Я достиг его Atlast, принимая новый текстовым блоком и применением триггера на нем, а с использованием класса 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> 
0

Try:

DefaultText="Not Specified" 
+0

Я думаю, что в combobox нет свойства типа «DefaultText», а также в текстовом блоке – Safwan

+0

Я не могу изменить код C#, так как у меня есть файл xml, привязанный к нему, т.е. к списку combobox, можно ли использовать любое решение, используя XAML-код только – Safwan

1

Вы пробовали свойства текста

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

или

Вы можете использовать свойство SelectedIndex и установить его в 0 (SelectedIndex = 0), который отображает первый элемент в указанном источнике.

или

вы можете сделать так, как в ссылке How to display default text "--Select Team --" in combo box on pageload in WPF?

+0

xmlns: Converters = "clr-namespace: MyProject.Resources.Converters", эта строка в xaml дает ошибку, что писать точно и есть что-нибудь импортировать, я ее не хватает ??????? – Safwan

+0

Какая ошибка вы получаете ..? – NullReferenceException

+0

Я не вставлял конвертер должным образом в папку проекта – Safwan

0

Попробуйте это в загрузке страницы или формы нагрузки

comboBox.SelectedItem = null; 
comboBox.Text = "---select an item---"; 
Смежные вопросы