我有一个扩展器放在一个蓝色背景的窗口上,我想使扩展器的按钮与默认颜色(蓝色,它从窗口接收)的颜色不同.当我修改扩展器的背景属性时,它会将整个扩展器,标头和所有扩展器更改为新颜色.但是,我希望只有按钮本身才能改变.有人能指出我正在寻找合适的房产吗?谢谢
您不仅需要重新尝试扩展器......您需要在Expander的模板中重新模拟ToggleButton ...这样您就可以将扩展器上的背景画笔集完全绑定到扩展器的视觉效果并进入ToggleButton的视觉效果(使用两个TemplateBindings).
当你学习如何修改WPF控件的视觉效果时,有一件事是有用的(至少对我而言)是使用SimpleStyles,因为这些比复杂和正常的样式和模板更容易复制和修改... .
要执行此操作,请打开Blend并进入资源库(最底层的工具)...如果单击它,您将看到两组控件:系统控件和简单样式.从简单样式中取出一个控件(无论哪个),然后将其插入设计图面.然后,您可以右键单击它,编辑控件(模板)和编辑副本.这将创建简单样式样式和模板的副本......然后您可以(更容易)修改您的心灵内容.
(此时我应该注意,我会在Visual Studio和Blend中修改xaml(由Blend生成)......根据需要来回翻转......并利用每个的优势:为其WYSIWYG混合设计表面...和Visual Studio的代码编辑和IntelliSense支持.)
我已经起草了一些快速的xaml,它可以满足您的要求并将其包含在下面.您应该能够将此xaml放入Kaxaml或其他松散的xaml编辑器中.
希望这可以帮助.