我有以下singleton类,它包含以下属性:
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”类型的对象。
我已经检查了“存储”名称空间的四倍;我知道它被引用并且是正确的。实例属性是静态的,所以我不理解为什么这个绑定会失败。我在所有这些方面都有类似的静态属性绑定,工作正常。
有什么想法吗?