[WPF自定义控件库]以Button为例谈谈如何模仿Aero2主题 (4)

不过在实现其它自定义控件的时候我也比较倾向提供VisualState,因为这样可以明确指出控件外观有几种状态,避免了混轮,而且提供了VisualState可以更方便扩展。这点WPF原生控件也是一样的,它们很多都没有声明TemplateVisualState,而且ControlTemplate也没有使用VisualState,但使用Blend编辑控件模板还是可以在“状态”面板看到它的TemplateVisualState(其中FocusStates和ValidationStates可以不使用,如果修改了这两组状态也就是让控件外观更个性化而已)。对最终用户来说多一个选择并不是坏事。

[WPF自定义控件库]以Button为例谈谈如何模仿Aero2主题

5. 结语

通过这篇文章读者应该对Aero2的风格有了一定程度的了解。更多Aero和Aero2的相关信息可以看这个Github项目。

很多控件库都会提供额外的主题包,这点可以放到后面再考虑。

6. 参考

Control样式和模板
资源帮助主题
PresentationTheme.Aero

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzyxs.html