我在寻找文本框水印功能时遇到了这个方法。
<TextBox Name="txtBoxName" Width="120" Height="23">
<TextBox.Resources>
<VisualBrush x:Key="HelpBrush" TileMode="None" Opacity="0.3" Stretch="None" AlignmentX="Left">
<VisualBrush.Visual>
<TextBlock FontStyle="Italic" Text="Watermark effect"/>
</VisualBrush.Visual>
</VisualBrush>
</TextBox.Resources>
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="Height" Value="23"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="VerticalAlignment" Value="Top"/>
<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>
我想在VisualBrush中控制文本块的边距。
如果您将边距设置在内部,则它不会更改。
你怎么能移动它?
谢谢。
enter image description here
2条答案
按热度按时间t3psigkw1#
将TextBlock放入某个容器中,例如Grid
u4dcyp6a2#
必须为容器添加背景。