如何更改 VisualBrush 中文本框的边距?

How to change margin of Textbox inside VisualBrush?


我在寻找文本框水印功能时遇到了这种方法。

<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

将 TextBlock 放入某个容器中,例如网格

<VisualBrush.Visual>
    <Grid Background="Transparent">
        <TextBlock FontStyle="Italic" Text="Watermark effect" Margin="15,0"/>
    </Grid>
</VisualBrush.Visual>