Я предполагаю, что TextBox имеет другую анимацию для BorderBrush, когда для свойства IsMouseOver установлено значение true.Однако этот триггер активен только тогда, когда BorderThickness точно равен 1,0.Таким образом, чтобы преодолеть это, вы можете изменить BorderThickness на 1.01 или что-то в триггере, и BorderBrush будет оставаться красным, пока мышь находится над TextBox.
<Style TargetType="{x:Type TextBox}">
<Setter Property="Width" Value="250" />
<Setter Property="Height" Value="50" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderThickness" Value="1.01" />
<Setter Property="FontSize" Value="20" />
<Setter Property="Foreground" Value="Red" />
<Setter Property="BorderBrush" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>