0

I'm using framework 4.0.

How to display grayed text in editable combobox when it is empty and not focused like in picture

Example

Json76
  • 175
  • 2
  • 13
  • [How to display default text “--Select Team --” in combo box on pageload in WPF?](http://stackoverflow.com/questions/1426050/how-to-display-default-text-select-team-in-combo-box-on-pageload-in-wpf) – Eins May 14 '16 at 12:00
  • no it's not same behavior – Json76 May 14 '16 at 12:21
  • The [WatermarkComboBox](http://wpftoolkit.codeplex.com/wikipage?title=WatermarkComboBox&referringTitle=Home) of the WPFToolkit (freely available) supports that . – JanDotNet May 15 '16 at 19:02

1 Answers1

0

UPDATE:

There is no direct way to implement in WPF except using a TextBlock and ComboBox and laying them over each other.

<Grid HorizontalAlignment="Left" Height="21.545" VerticalAlignment="Top" Width="120.964" Margin="56.958,108.962,0,0">
        <ComboBox IsEditable="True" Name="myComboBox" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120">
            <!--Items Here-->
        </ComboBox>
        <TextBlock Text="Please Select" IsHitTestVisible="False" Foreground="Gray" x:Name="textBlock" HorizontalAlignment="Left" TextWrapping="Wrap" Margin="3.993,2.664,0,0">
            <TextBlock.Style>
                <Style TargetType="TextBlock">
                    <Style.Setters>
                        <Setter Property="Visibility" Value="Hidden" />
                    </Style.Setters>
                    <Style.Triggers>
                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding Text, ElementName=myComboBox, Mode=OneWay}" Value=""/>
                                <Condition Binding="{Binding IsKeyboardFocusWithin, ElementName=myComboBox, Mode=OneWay}" Value="False" />
                            </MultiDataTrigger.Conditions>
                            <MultiDataTrigger.Setters>
                                <Setter Property="Visibility" Value="Visible" />
                            </MultiDataTrigger.Setters>
                        </MultiDataTrigger>
                    </Style.Triggers>
                </Style>
            </TextBlock.Style>
        </TextBlock>
    </Grid>

Sorry about this. I misunderstood the question previously. This answer is for UWP.

I think placeholder text is what you are looking for. Check this out ComboBox.PlaceholderText property in MSDN Docs.

Raamakrishnan A.
  • 515
  • 3
  • 14