我有一个文本框。当出现错误时,我将 borderbrush 设置为新的 SolidColorBrush(Colors.Red)。修复错误后,我想切换到文本框边框的默认颜色。我是在代码隐藏中而不是 xaml 中执行此操作。
但是它取决于系统。我注意到有类似的东西
SystemColor.ActiveControl 等。我应该使用这些吗?如果是,哪一个是文本框的默认边框?
我还注意到有类似 Textbox.borderbrushproperty.defaultmetadata.defaultvalue 的东西,但我无法正常工作。
有什么想法如何切换到默认边框画笔吗?谢谢。
最佳答案
您必须在代码隐藏中执行此操作吗?如果没有,您可以使用触发器
,它只会在满足触发条件时更改边框颜色。
<Style x:Key="MyTextBoxStyle" TargetType="{x:Type TextBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyUserControl, Path=HasErrors}">
<Setter Property="BorderBrush" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
关于c# - 将控件颜色更改为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9384793/