我有以下单例类,它包含以下属性:
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属性是静态的,所以我不明白为什么这个绑定会失败。我对静态属性的绑定类似于完全正常工作。
有什么想法吗?