Все триггеры оцениваются сверху вниз.
В псевдокоде это переводится как
if (IsEnabled == false) { background.Fill = Gray }
if (isIndeterminate == true) { background.Fill = Orange }
Итак, если вы хотите достичь желаемого результата, просто поменяйте их местами на
<Trigger Property="IsIndeterminate" Value="True"> <!-- #2 -->
<Setter TargetName="background" Property="Fill" Value="Orange"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False"> <!-- #1 -->
<Setter TargetName="background" Property="Fill" Value="Gray"/>
</Trigger>
Чтобы ответить на ваш предыдущий вопрос, если, например, мы сделали
<Trigger Property="IsIndeterminate" Value="True"> <!-- #2 -->
<Setter TargetName="background" Property="Fill" Value="Orange"/>
<Setter TargetName="forground" Property="Fill" Value="Red"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False"> <!-- #1 -->
<Setter TargetName="background" Property="Fill" Value="Gray"/>
</Trigger>
Если IsInderminate имеет значение true, а IsEnabled имеет значение false, фон будет серым, а передний план будет красным, потому что триггеры оцениваются, а установщики применяются сверху вниз. Надеюсь, это поможет.