当文本框具有焦点时,我试图在简单的文本框上设置背景边框画笔。
这是我的风格
<Style x:Key="TextBoxStyle" TargetType="TextBox">
<Style.Triggers>
<Trigger Property="IsFocused" Value="False">
<Setter Property="BorderBrush" Value="Blue"/>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="Red"/>
<!--<Setter Property="Background" Value="Red"/>-->
</Trigger>
IsFocus = False正常工作,但触发器为true不。
我已经注释掉了背景设定器但是如果我取消注释它,我可以看到背景设置为红色。
当文本框有焦点时,我需要做些什么来改变边框颜色?
谢谢。
答案 0 :(得分:1)
如果您的BorderThickness为“1”(默认),那么您获得的焦点样式是标准3D控件之一。您可以使用contenttemplate重新设置控件,但简单(尽管不是最优雅的解决方案)只是将边框粗细设置为“1”以外的其他值,就像我在下面的示例中所做的那样。
<TextBox Width="200" Height="25" BorderThickness="0.99">
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Setter Property="BorderBrush" Value="Red" />
<Style.Triggers>
<Trigger Property="IsFocused" Value="False">
<Setter Property="BorderBrush" Value="Blue" />
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>