根据这篇文章ControlTemplate和DataTemplate,再结合下面自己的实验,基本理解了ContentControl的ControlTemplate和DataTemplate之间的关系。
实验代码如下:
总结:
1、如果ContentControl中设定了Template或者ContentTemplate,那么Style中的两个template分别失效,以本地为准。
2、DataTemplate针对的是ControlTemplate中的ContentPresenter
3、ContentControl.Content属性是Template中的ContentPresenter,如果有DataTemplate,那么ContentControl.Content属性失效。
4、默认的Style中有个ContentPresenter,如果有DataTemplate,就会显示DataTemplate的样子。
5、另外,用style携带Template相对于单独设定Template的用处在于,可以一次应用到所有空间,而不用标记x:key
6、Datatemplate可以不带key,应用于整个数据类型
sp:简书的文本编辑真是难用透顶。段落距特别大不能调节,代码格式支持很不友好,文本中含<符号不能复制粘贴,只好用贴图代替。都不想用了。