Validation ErrorTemplate显示在ContentControl而非TextBox上的问题
Validation ErrorTemplate显示在ContentControl而非TextBox上的问题
我最近在做WPF中TextBox输入验证的视觉反馈,需求很明确:
- 验证不通过时,TextBox的边框要显示红框
- 错误消息要展示在TextBox的正下方
目前验证相关的代码逻辑是正常工作的:验证函数能正常执行,错误消息也能正确收集,OnErrorsChanged也已经调用了,WPF确实也有响应——但问题是整个UserControl外面都被套了个红框,完全不是我想要的只给TextBox加红框的效果。
我查了不少相关问题,看到红框第一反应就是这应该和装饰器(Adorner)的放置有关,于是我在各个层级都加了AdornerDecorator,但一点效果都没有。而且我在运行时检查过,TextBox控件是能访问到装饰器层的,这个装饰器层是由承载我的视图(View1.xaml)的ContentControl创建的,这好像能解释为什么红框会出现在整个控件上,但我就是搞不懂怎么让它只显示在目标TextBox上。
备注:内容来源于stack exchange,提问作者user1229658
相关产品推荐
相关产品推荐

