发生了什么事
TextBoxBase
有一些触发器
IsFocused
,因此您的触发器被默认触发器覆盖。
您应该修改
模板并将触发器放在那里以实现您想要的:
<TextBox.Style>
<Style
TargetType="{x:Type TextBox}">
<Setter
Property="Template">
<Setter.Value>
<ControlTemplate
TargetType="{x:Type TextBoxBase}">
<Border
x:Name="border"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
SnapsToDevicePixels="True">
<ScrollViewer
x:Name="PART_ContentHost"
Focusable="False"
HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Hidden" />
</Border>
<ControlTemplate.Triggers>
<Trigger
Property="IsFocused"
Value="True">
<Setter
Property="BorderBrush"
Value="Red" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TextBox.Style>