У меня есть следующий одноэлементный класс, который содержит следующее свойство:
public class Manager : INotifyPropertyChanged
{
public bool IsOnline
...
public static Manager Instance
...
}
В разметке я пытаюсь изменить цвет кнопки на основе этого онлайн-свойства:
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<Binding Source="{x:Static storage:Manager.Instance}" Path="IsOnline"/>
</DataTrigger.Binding>
<Setter Property="Background" Value="#8000FF00"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
Эта привязка <Binding Source="{x:Static storage:Manager.Instance}" Path="IsOnline"/>
завершается ошибкой с исключением:
Невозможно преобразовать значение в атрибуте 'Source' в объект типа 'System.Windows.Markup.StaticExtension'.
Я четыре раза проверил пространство имен «хранилище»;Я знаю, что на это ссылаются и правильно.Свойство Instance является статическим, поэтому я не понимаю, почему эта привязка не будет выполнена.У меня есть похожие привязки к статическим свойствам повсюду, которые прекрасно работают.
Есть идеи?