在Nikck Thuesen的blog上看到一篇好文,很清晰的解释了WPF中Style和Template的区别。
先来看Style:
假设我们认为下面的这个东西是一个按钮
我要对它进行一些配置,即设置它的一些属性
如果我需要很多相同的按钮,就需要重复设置这些属性
其实我们只需要在Resource中定义一个Style,就可以将它应用到所有按钮
所以Style就是用来减少重复设置相同的属性。
接下来是Template。Template决定了按钮到底长什么样。
其实按钮本身并不关心自己的样子(Visual),只要能按,它就是按钮。
定义Template并应用到按钮的Template属性,可以让它们变成另外一个样子。
最后,因为Template也是一个属性,所以可以在Style中定义使用哪个Template。