WPF中TextBox默认BorderBrush对应的精确SystemColor枚举值是什么?
WPF中TextBox默认BorderBrush对应的精确SystemColor枚举值是什么?
兄弟,我刚好踩过这个坑!WPF里TextBox的默认边框颜色找起来确实有点绕,因为它不是直接对应SystemColors里那些一眼就能想到的枚举项,得分两种状态来看:
未获得焦点的常规状态:这个时候TextBox的默认边框颜色对应的是
SystemColors.ControlDarkBrush,你可以直接这么写:My_BorderBrush = SystemColors.ControlDarkBrush;我之前也试过
ActiveBorderBrush,那个是给激活窗口边框用的,和TextBox的边框色调确实不一样,所以才会觉得有差异。获得焦点的高亮状态:当TextBox被选中时,边框会变成系统高亮色,对应的是
SystemColors.HighlightBrush,代码是:My_BorderBrush = SystemColors.HighlightBrush;
要注意的是,如果你用了自定义主题或者不同的Windows版本(比如Win10和Win11的原生主题),颜色可能会有细微调整,但在WPF默认的原生主题下,上面这两个枚举值是完全匹配TextBox默认边框色的。
备注:内容来源于stack exchange,提问作者Gian
相关产品推荐
相关产品推荐

