2010-07-24 55 views
1

我正在爲我的WPF應用程序創建自定義控件,並且想知道當點擊它時如何反轉控件的顏色。我已經得到它來響應鼠標點擊,但是當我嘗試交換背景和前景畫筆時,只有背景顏色會發生變化。該控件是一個模具控件,我希望顏色在選擇時反轉。我通過使用控件模板中的網格創建了模具面,並將橢圓的填充筆刷設置爲{TemplateBinding Foreground}。任何幫助將不勝感激。如何反轉WPF自定義控件的顏色

回答

0

把你的模板觸發,將與"{Binding Background, RelativeSource={RelativeSource TemplatedParent}}"反之當更換{TemplateBinding Foreground}的invertcolor您的控件處於選定狀態。你不能在setter中使用TemplateBinding,所以你需要使用TemplatedParent的RelativeSource進行常規綁定。下面是一個帶有TextBlock的CheckBox的示例,它在選中時反轉顏色:

+0

謝謝。在我發現我的Selected屬性需要成爲DependancyProperty之後,它完美運行。 – 2010-07-26 04:01:57