You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 08:52:59