【发布时间】:2010-09-30 15:24:00
【问题描述】:
我想让 WPF TextBox 有一个 DarkBlue 边框和厚度等于 1。我想让 WPF 有这个边框( DarkBlue,厚度设置为 1 ),即使选择了 TextBox。
我尝试通过以下代码执行此任务。但是,它根本不起作用。 任何想法或提示?任何帮助将不胜感激。
<Style x:Key="ReadOnlyLargeTextBox" TargetType="{x:Type TextBox}" >
<Setter Property="Height" Value="80"/>
<Setter Property="MaxHeight" Value="80"/>
<Setter Property="VerticalScrollBarVisibility" Value="Visible"/>
<Style.Triggers>
<Trigger Property="TextBox.IsMouseOver" Value="True">
<Setter Property="BorderBrush" Value="DarkBlue"/>
<Setter Property="BorderThickness" Value="1"/>
</Trigger>
<Trigger Property="TextBox.IsMouseOver" Value="False">
<Setter Property="BorderBrush" Value="DarkBlue"/>
<Setter Property="BorderThickness" Value="1"/>
</Trigger>
</Style.Triggers>
</Style>
P.S 请注意,文本框没有 IsSelected 属性。
【问题讨论】:
-
“即使选择了 TextBox”:你是什么意思?选择 TextBox 时边框不会改变,因此您根本不需要触发器......只需将设置器放在样式中