1 <TextBox FontSize="17" Height="26" Width="150" VerticalAlignment="Top" TabIndex="0" Foreground="Green" BorderThickness="1" Background="Black"> 2 <TextBox.Resources> 3 <VisualBrush x:Key="HelpBrush" TileMode="None" Opacity="0.3" Stretch="None" AlignmentX="Left"> 4 <VisualBrush.Visual> 5 <TextBlock FontStyle="Italic" Text="search..." Width="150" Foreground="Green" Background="Black"/> 6 </VisualBrush.Visual> 7 </VisualBrush> 8 </TextBox.Resources> 9 <TextBox.Style> 10 <Style TargetType="TextBox"> 11 <Style.Triggers> 12 <Trigger Property="Text" Value="{x:Null}"> 13 <Setter Property="Background" Value="{StaticResource HelpBrush}"/> 14 </Trigger> 15 <Trigger Property="Text" Value=""> 16 <Setter Property="Background" Value="{StaticResource HelpBrush}"/> 17 </Trigger> 18 </Style.Triggers> 19 </Style> 20 </TextBox.Style> 21 </TextBox>,以上是添加水印代码,当我给textbox设置background后,水印就无法显示了,这个该怎么解决啊
优先级的问题。<TextBox Background="Black" …… 这里的Background 值的优先级高于 Style.Trriger中的值,所以Style.Trriger中的值无效。
解决方法:把Background="Black" 去掉,改在 Style 中通过 Setter 设置Background的值。
谢谢
这年代还有用WPF的人呢