2013-02-28 22 views
1

我有一個轉換器可以將一個自定義對象轉換爲一個SolidColorBrush的ListView文本顏色的項目,可以是顏色紅色或黑色。 問題是,該列表視圖的PointerOver模板(和其他)自動反轉文本顏色以匹配對比度,但轉換器設置的顏色不會自動更改,所以我的問題是有一個默認的SolidColorBrush不會使這成爲一個問題?默認SolidColorBrush

回答

1

我相信default(SolidColorBrush)null

您可以使用ItemContainerStyleSelector代替或與轉換器一起使用不同的項目樣式,包括畫筆。您當前的解決方案可能會覆蓋{TemplateBinding Foreground}設置在某個默認模板中的某個位置,該模板打破了依賴屬性值推斷鏈。你可以檢查這個更多關於依賴屬性Value Precedence的信息。

+0

爲空我沒有得到任何顏色。我已經知道,如果我明確地設置顏色,ListViewItem樣式中設置的顏色不會改變顏色,所以這個樣式應用在轉換器設置此顏色之前,我需要它,另一種方式 – 2013-02-28 14:51:55

2

試試這個:

SolidColorBrush defaultBrush = new SolidColorBrush(); 
controlObject.BorderBrush = defaultBrush; 
+0

工作像魅力.... 。 – 2017-07-25 15:28:39