我想创建一个触发器以应用于 Validation.HasError 上的所有 TextBox,以在自定义工具提示中显示 Validation.Error。
<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:Type TextBox 会失败,因为它将从 TextBlock > StackPanel > Setter.Value > Setter > etc.. 遍历。
我怎样才能引用样式目标?