-1

我创建了 RangeBase 的后代。在这个后代中,我创建了使用 TextBox 控件的模板。现在,当将无效值输入到 TextBox(包含在模板中)时,我需要验证值(继承的 RangeBase)。
这是我的问题:如果我想验证新的后代控件,只有 TextBox 装饰有验证错误(使用适当的 ControlTemplate) - TextBox 在 Text 属性的绑定中包含适当的验证(   )
但我需要它来装饰我的新控件,作为一个整体(不仅仅是文本框)在此处输入图像描述:。
有没有办法做到这一点?
也许需要更改 AdornerLayer 以便装饰器不会出现在 TextBox 上,而是出现在我的新元素上。

4

1 回答 1

0

您需要将装饰器站点从经过验证的控件移动到主控件(RangeBase 的后代)。为此,您可以简单地使用:

Validation.ValidationAdornerSite="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}}"

附加属性到文本框。

于 2018-05-24T16:04:56.203 回答