2011-03-01 55 views
0

該對象是一個ListBoxItem,雖然我也嘗試過面板。WPF - 使用IsInitialized作爲屬性觸發失敗

我在InvalidOperationException中收到此錯誤消息:Property can not be null on Trigger.

這裏的觸發:

<Trigger Property="IsInitialized" Value="true"> 
    <Setter TargetName="MyPanel" Property="Background" Value="AliceBlue"> 
    </Setter> 
</Trigger> 

注:我不能使用Loaded,因爲我不希望它火只要控件呈現。正在初始化。

該屬性存在...爲什麼它不起作用?

回答

0

這是因爲IsInitialized屬性不是Dependency Property。觸發器只能用於依賴項屬性。

但問題是爲什麼你需要這樣的觸發器?因爲通過直接在MyPanel上或以「ListBoxItem」的樣式指定Background屬性,可以實現相同的效果。

+0

感謝您的迴應!其實,我認爲我的問題應該是另一個......我想知道是否需要打開另一個問題......我有一個ObservableCollection和一個綁定到它的ListBox。我將觸發器設置爲IsSelected,因此如果我選擇一個項目,它將變成藍色。但是,當我直接更改某個項目時(如List [1] =某些內容),發生了一些有趣的事情。即使點擊其他項目,它也會保持選中狀態。這是爲什麼? – 2011-03-01 12:24:53

+0

@Conrad - 不客氣:)至於你的第二個問題,你最好爲此創建另一篇文章,我會試着去研究它。 – 2011-03-01 12:33:03