我想替换 Validation.ErrorTemplate 的正常行为。我想在我自己的 UserControl 后面放置一个背景边框对象(用红色填充),然后应用一个简单的彩色动画来闪烁它。
我在我的隐式控制风格中尝试了这个:
<Style TargetType="{x:Type local:myControl}">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<Border Name="ErrorBorder" CornerRadius"5" Background="Red">
<AdornedElementPlaceholder />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="ToolTip" Value="{Binding
RelativeSource={RelativeSource Self},
Path=(Validation.Errors)[0].ErrorContent}" />
</Trigger>
</Style.Triggers>
</Style>
不幸的是,边框对象完全覆盖了控件 UI。另一个问题是:将 DoubleAnimation 应用于 Opacity 以使我的背景闪烁的正确位置在哪里?我应该触发哪些属性/事件?我应该使用样式还是简单地将其放在 Border.Triggers 中?
谢谢