更改概述的 TextBox 默认边框画笔

Posted

技术标签:

【中文标题】更改概述的 TextBox 默认边框画笔【英文标题】:Changing outlined TextBox default border brush 【发布时间】:2022-01-10 21:18:10 【问题描述】:

目前,当TextBox 未被选中时,BorderBrush 为黑色。但是,选择TextBox BorderBrush变为绿色。我将如何设置BorderBrush 在未选中时默认为蓝色而不是黑色?

<TextBox 
    Margin="0,15,0,0"
    Foreground="#FFFFFF"
    FontSize="20"
    materialDesign:TextFieldAssist.UnderlineBrush="Green"
    materialDesign:HintAssist.Background="Transparent"
    Style="StaticResource MaterialDesignOutlinedTextBox"
    materialDesign:HintAssist.Hint="Username"
    materialDesign:HintAssist.Foreground="Green"
    />

【问题讨论】:

【参考方案1】:

你可以只设置BorderBrush

<TextBox BorderBrush="Blue" />

【讨论】:

【参考方案2】:

您必须覆盖以下画笔:

MaterialDesignTextAreaBorder - 用于启用状态的边框。 MaterialDesignTextAreaInactiveBorder - 用于禁用状态的边框 (IsEnabled="False")。
<TextBox 
   Margin="0,15,0,0"
   Foreground="#FFFFFF"
   FontSize="20"
   materialDesign:TextFieldAssist.UnderlineBrush="Green"
   materialDesign:HintAssist.Background="Transparent"
   Style="StaticResource MaterialDesignOutlinedTextBox"
   materialDesign:HintAssist.Hint="Username"
   materialDesign:HintAssist.Foreground="Green">
   <TextBox.Resources>
      <SolidColorBrush x:Key="MaterialDesignTextAreaBorder" Color="Blue"/>
      <SolidColorBrush x:Key="MaterialDesignTextAreaInactiveBorder" Color="LightBlue"/>
   </TextBox.Resources>
</TextBox>

【讨论】:

以上是关于更改概述的 TextBox 默认边框画笔的主要内容,如果未能解决你的问题,请参考以下文章

C# TextBox调整行间距

C# TextBox调整行间距

如何在WPF中使用触发器更改边框颜色?

防止在 TextBox 中选择文本

textbox在js取值时去掉空格

C# 怎么改变Textbox的边框颜色?Winform