В моем приложении WPF я пытаюсь установить водяной знак в своем текстовом поле MahApps.Metro, для которого я установил собственный стиль:
Style x:Key="TextBoxStyle" TargetType="{x:Type TextBox}">
<Setter Property="VerticalAlignment" Value="Center" />
<!--<Setter Property="BorderThickness" Value="1" />-->
<Setter Property="Margin" Value="10 0 30 0" />
<!--<Setter Property="BorderBrush" Value="SteelBlue" />-->
<Setter Property="BorderThickness" Value="0.7" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="Background" Value="AliceBlue" />
<Setter Property="Padding" Value="5" />
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel LastChildFill="true">
<Border Background="OrangeRed" DockPanel.Dock="right" Margin="5,0,0,0"
Width="20" Height="20" CornerRadius="5"
ToolTip="{Binding ElementName=customAdorner,
Path=AdornedElement.(Validation.Errors)[0].ErrorContent}">
<TextBlock Text="!" VerticalAlignment="center" HorizontalAlignment="center"
FontWeight="Bold" Foreground="white" />
</Border>
<AdornedElementPlaceholder Name="customAdorner" VerticalAlignment="Center" >
<Border BorderBrush="red" BorderThickness="1" />
</AdornedElementPlaceholder>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Opacity" Value="0.56"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="BorderBrush" Value="{DynamicResource AccentColorBrush}"/>
</Trigger>
<Trigger Property="IsFocused" Value="true">
<Setter Property="BorderBrush" Value="{DynamicResource AccentColorBrush}"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="MenuLevel2" BasedOn="{StaticResource MetroTabItem}" TargetType="{x:Type TabItem}">
<Setter Property="mah:ControlsHelper.HeaderFontSize" Value="16" />
<Setter Property="mah:ControlsHelper.HeaderFontWeight" Value="Normal"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="SteelBlue"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
</Trigger>
</Style.Triggers>
</Style>
<TextBox Grid.Column="1" Grid.Row="1" x:Name="txtBox_updateWebSrvURL" Style="{StaticResource TextBoxStyle}"
Validation.Error="Validation_Error"
Text="{Binding UpdateSourceTrigger=PropertyChanged, Path=webSrvURL,
ValidatesOnDataErrors=true, NotifyOnValidationError=true}"
Controls:TextBoxHelper.Watermark="MyWatermark here!!!!/" />
Если я удаляю пользовательский стиль, водяной знак хорошо применяется.Любая идея, как я могу включить водяной знак, но все еще использовать свой собственный стиль?