2010-07-24 102 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