最近项目中需要实现一个效果,类似web中的text输入框的placehodler属性:默认情况下显示一些文字,当输入新的文字后自然消失
这里需要对原本textbox的模板进行小的修改:直接看一下代码
<TextBox Height="80" Width="450" x:Name="web_param_addr_tbx" Margin="5,0,0,0" > <TextBox.Resources> <VisualBrush x:Key="HelpBrush" TileMode="None" Opacity="0.3" Stretch="None" AlignmentX="Left" AlignmentY="Top"> <VisualBrush.Visual> <TextBlock FontStyle="Normal" FontSize="14" TextWrapping="Wrap" Width="430" Text='名称和域名之间用"半角冒号"分割,多个测试地址以"半角分号"分割.例如:广电:www.jscndata.com;大电视:ww.bigtv.cn'/> </VisualBrush.Visual> </VisualBrush> </TextBox.Resources> <TextBox.Style> <Style TargetType="TextBox"> <Setter Property="Width" Value="450"/> <Setter Property="Height" Value="64"/> <Setter Property="FontFamily" Value="{StaticResource fontFamily}"/> <Setter Property="FontSize" Value="14"/> <Setter Property="Foreground" Value="#FF333333"/> <Setter Property="BorderBrush" Value="#8F666666"/> <Setter Property="TextWrapping" Value="Wrap"/> <Setter Property="AcceptsReturn" Value="True"/> <Setter Property="VerticalScrollBarVisibility" Value="Visible"/> <!--<Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="TextBox"> <Border x:Name="Bd" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" SnapsToDevicePixels="true" > <ScrollViewer x:Name="PART_ContentHost" RenderOptions.ClearTypeHint="Enabled" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> </Border> </ControlTemplate> </Setter.Value> </Setter>--> <Style.Triggers> <Trigger Property="Text" Value="{x:Null}"> <Setter Property="Background" Value="{StaticResource HelpBrush}"/> </Trigger> <Trigger Property="Text" Value=""> <Setter Property="Background" Value="{StaticResource HelpBrush}"/> </Trigger> </Style.Triggers> </Style> </TextBox.Style> </TextBox>