Я объявил простой Validation.ErrorTemplate для TextBox следующим образом.
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel LastChildFill="True">
<TextBlock Text="!" DockPanel.Dock="Right"
FontSize="{TemplateBinding TextBox.FontSize}"
Foreground="Red"/>
<AdornedElementPlaceholder Name="adornerPlaceholder" />
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Я ожидаю, что размер шрифта восклицательного знака будет таким же шрифтом (отредактированный) , что и TextBox, но это не приводит к ожиданию и всегда получает размер шрифта по умолчанию. Кроме того, я попытался использовать Binding, используя RelativeSource={RelativeSource Mode=TemplatedParent}, Path=FontSize
, но он также не может решить проблему. Почему возникла такая ситуация? Как сделать так, чтобы восклицательный знак получал тот же размер, что и TextBox?