首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF Validation.ErrorTemplate背景对象

WPF Validation.ErrorTemplate背景对象
EN

Stack Overflow用户
提问于 2013-11-09 06:26:16
回答 1查看 751关注 0票数 2

我想要取代Validation.ErrorTemplate的正常行为。我想把一个背景边框对象(用红色填充)放在我自己的UserControl后面,然后应用一个简单的颜色动画来闪烁它。

我在隐式控制风格中尝试了这一点:

代码语言:javascript
复制
<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应用于不透明以使我的背景闪烁的正确位置在哪里?我应该触发哪些属性/事件?我应该使用样式还是简单地将其放在Border.Triggers中?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-20 19:52:04

我很确定这是不可能的,装饰器总是绘制在装饰元素的顶部。

参见MSDN上的主持人概述

Adorner是绑定到UIElement的自定义UIElement。Adorner在AdornerLayer中呈现,它是一个始终位于装饰元素或装饰元素集合之上的呈现面

您可能会使用一个普通的边框来装饰这个元素,而不是试图把它放在装饰元素后面,这样就可以得到同样的效果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19873102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档