例如,当文本框为空时,Facebook 的搜索文本框中会显示“搜索”提示文本。
如何使用 WPF 文本框实现此目的?
最佳答案
您可以使用 VisualBrush
和 Style
中的一些触发器更轻松地完成此操作:
<TextBox>
<TextBox.Style>
<Style TargetType="TextBox" xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Style.Resources>
<VisualBrush x:Key="CueBannerBrush" AlignmentX="Left" AlignmentY="Center" Stretch="None">
<VisualBrush.Visual>
<Label Content="Search" Foreground="LightGray" />
</VisualBrush.Visual>
</VisualBrush>
</Style.Resources>
<Style.Triggers>
<Trigger Property="Text" Value="{x:Static sys:String.Empty}">
<Setter Property="Background" Value="{StaticResource CueBannerBrush}" />
</Trigger>
<Trigger Property="Text" Value="{x:Null}">
<Setter Property="Background" Value="{StaticResource CueBannerBrush}" />
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="True">
<Setter Property="Background" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
为了提高此样式
的可重用性,您还可以创建一组附加属性来控制实际的提示横幅文本、颜色、方向等。
关于.net - 如何向 WPF 文本框添加提示文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7425618/