wpf组合框没有聚焦空文本

时间:2016-05-14 11:48:24

标签: wpf combobox

我使用的是框架4.0。

如果在可编辑的组合框中显示灰色文本,如果它是空的并且没有像图片中那样聚焦

Example

1 个答案:

答案 0 :(得分:0)

<强>更新

除了使用TextBlock和ComboBox并将它们相互叠加之外,没有直接的方法在WPF中实现。

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

对此感到抱歉。我以前误解了这个问题。这个答案适用于UWP。

我认为占位符文字正是您所寻找的。在MSDN文档中查看ComboBox.PlaceholderText property