我有一個包含以下屬性以下單例類:靜態綁定到辛格爾頓令人不解的失敗
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"/>
失敗例外:
無法轉換在ATT值ribute'Source'轉換爲'System.Windows.Markup.StaticExtension'類型的對象。
我已經四重檢查了「存儲」命名空間;我知道它既被引用也是正確的。 Instance屬性是靜態的,所以我不明白爲什麼這個綁定會失敗。我有類似的靜態屬性綁定到那個工作就好了。
任何想法?
如果您使用它會失敗嗎? –
2010-10-26 21:50:17
是的,在這種情況下也失敗了。 – Charlie 2010-10-27 00:09:43