我目前正在创建一个带有水印文本的 TextBox 并且有一点样式问题。为了创建水印本身,我 在 WPF 中包含了此处解释的代码 Watermark / hint text / placeholder TextBox 我没有使用公认的答案,而是使用得票最高的答案。(使用 Adorner 的那个)
我的文本块如下所示:
<AdornerDecorator>
<TextBox HorizontalAlignment="Right"
VerticalAlignment="Center"
Width="190"
Padding="16,2,20,2">
<utils:WatermarkService.Watermark>
<TextBlock Text="Search" />
</utils:WatermarkService.Watermark>
</TextBox>
</AdornerDecorator>
现在我面临的问题是,使用此附加属性,其中的文本块超出了我在 app.xaml 中声明的样式的范围。样式如下所示:
<Style TargetType="{x:Type Window}">
<Setter Property="FontFamily"
Value="Tahoma" />
<Setter Property="FontSize"
Value="8pt"></Setter>
<Setter Property="Background"
Value="{DynamicResource {x:Static SystemColors.ControlLightBrushKey}}" />
</Style>
如何在 app.xaml 的附加属性中设置文本块的样式,最好基于这种样式,所以我不必声明它的服务时间。