Абэ прав и хорошо объясняет ограничения.Одна вещь, которую вы могли бы рассмотреть:
Вместо двух стилей границ и попытки выбирать между ними на основе триггера ...
Используйте один стиль на вашей границе, этосеттеры стиля представляют ваш «нормальный» вид.Этот стиль также содержит ваш DataTrigger, а ваш DataTrigger имеет коллекцию сеттеров, которые по существу представляют ваш второй стиль (которые имеют более высокий приоритет, чем стандартные сеттеры, когда этот триггер оценивается как true!
Редактировать:
Как то так -
<Style TargetType="Border" x:Key="BorderStyle">
<!-- These setters are the same as your normal style when none of your triggers are true -->
<Setter Property="BorderBrush" Value="Black" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=CurrentStatus}" Value="0">
<!-- These setters are the same as your ListBoxItemBorder style -->
<Setter Property="BorderBrush" Value="Green" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=CurrentStatus}" Value="200">
<!-- These setters are the same as your ListBoxItemBorderInactive style -->
<Setter Property="BorderBrush" Value="Gray" />
</DataTrigger>
</Style.Triggers>
</Style>