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

jskim

我在尋找文本框水印功能時遇到了這種方法。

<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 中文本塊的邊距。
如果在裡面設置邊距,它不會改變。
你怎麼能移動它?
謝謝。

在此處輸入圖片說明

將 TextBlock 放入某個容器中,例如 Grid

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章