我创建了RangeBase的后代。在这个后代我创建了模板,我使用TextBox控件。现在我需要验证值(继承的RangeBase)当无效值输入到TextBox(包含在模板中)。
这是我的问题:如果我想验证新的后代控件,只有TextBox装饰有验证错误(使用适当的ControlTemplate) - TextBox在Text属性()的绑定中包含适当的验证
但是我需要它作为一个整体(不仅仅是TextBox)装饰我的新控件:。
有没有办法做到这一点?
也许需要更改AdornerLayer,以便装饰器不会出现在TextBox上,而是放在我的新元素上。
答案 0 :(得分:0)
您需要将adorner网站从经过验证的控件移动到主控件(RangeBase的后代)。为此,您只需使用:
Validation.ValidationAdornerSite =“{结合 RelativeSource = {RelativeSource Mode = TemplatedParent}}“
附加属性到TextBox。