controlTemplate如何复用?
style可以用baseon继承,但是controlTemplate怎么复用?
比如有A和B两个template,几乎相同,就是B比A多一个element,怎么处理?
[解决办法]
这种应该是不存在复用的。最后还是需要写为两个controlTemplate哈。
[解决办法]
你说的问题根本就不是一个问题,Style跟ControlTemplate是两个概念,Style是一组属性设置的集合,BasedOn是控件默认支持的属性设置;而ControlTemplate是单个属性设置,用他设置控件的布局和行为,如果他要能继承,那必须是以下方式:
写一个新控件继承自该控件,增加一个新的依赖属性ExtraTemplate,然后在ControlTemplate中设置布局方式,放置一个ContentControl,将其Template绑定到"TemplateBinding ExtraTemplate”;这样你的控件可以这样使用:
<MyNewControl Template={StaticResource ControlTemplate1} ExtraTemplate={StaticResource ExtraTemplate1} ... .../>