Понятия не имею, что не так и как я должен решить эту ошибку.Как ни странно, триггеры данных работают нормально.
<Style TargetType="Border">
<Setter Property="Background" Value="{StaticResource HeaderBackgroundBrush}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding State}" Value="{StaticResource ErrorState}">
<Setter Property="Background" Value="OrangeRed"/>
</DataTrigger>
<DataTrigger Binding="{Binding State}" Value="{StaticResource ProductionState}">
<Setter Property="Background" Value="Green"/>
</DataTrigger>
</Style.Triggers>
</Style>
Состояниями ProductionState и Error являются значения перечисления, на которые ссылается XAML:
<machineControl:MachineControllerState x:Key="ErrorState">Error</machineControl:MachineControllerState>
<machineControl:MachineControllerState x:Key="ProductionState">Production</machineControl:MachineControllerState>
Привязка State ссылается на модель представления, которая является "a«обычное» свойство, которое поддерживает IPropertyChanged (из библиотеки mvvm lights)
public MachineControllerState State
{
get => state;
set { Set(() => State, ref state, value); }
}
Visual Studio отображает ошибку в списке ошибок:
После того, как триггер данных используется (запечатан),его нельзя изменить
Обновление: чтобы быть понятным, решение компилируется нормально, и во время выполнения все работает, как ожидалось.