Я хочу создать триггер, который будет применяться ко всем TextBox на Validation.HasError, чтобы показать Validation.Error в пользовательской подсказке.привязка к цели стиля с использованием RelativeSource в Setter.Value
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="Background" Value="Red"/>
<Setter Property="ToolTip">
<Setter.Value>
<StackPanel>
<TextBlock Text="{Binding RelativeSource={RelativeSource XXX}, Path=(Validation.Error)[0].ErrorContent}"/>
</StackPanel>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
Что я должен поставить в XXX?
Моя проблема в том, что я действительно не понимаю, как RelativeSource работает в этом контексте, и я не могу получить правильный код для привязки к TextBox.
Я предполагаю, что Self будет ссылаться на TextBlock и FindAncestor x: Тип TextBox будет терпеть неудачу, потому что он будет проходить через TextBlock> StackPanel> Setter.Value> Setter> и т. Д. Вместо этого.
Как я могу ссылаться на цель стиля?