【发布时间】:2012-02-21 20:39:06
【问题描述】:
我确实有一个文本框。当出现错误时,我将borderbrush 设置为新的SolidColorBrush(Colors.Red)。修复错误后,我想切换到文本框边框的默认颜色。我是在代码隐藏而不是 xaml 中做的。
但是它取决于系统。我注意到有类似
SystemColor.ActiveControl 等。我应该使用这些,如果是,哪一个是文本框的默认边框?
我还注意到有类似 Textbox.borderbrushproperty.defaultmetadata.defaultvalue 之类的东西,但我无法正常工作。
任何想法如何切换到默认边框画笔?谢谢。
【问题讨论】:
-
在将颜色更改为红色之前跟踪默认颜色。
-
不确定 WPF 是否支持它,但 Silverlight 有一个 IDataErrorInfo 接口,它将在绑定到有错误的属性的任何控件周围放置一个红色框。也许这会比你正在做的更容易。