WPF,控件模板中使用ContentPresenter

第三方3分 2013-09-29 06:43:02
在控件模板中有这么一句:
<ContentPresenter ContentSource="Content"/>

这是什么意思呢?ContentPresenter的ContentSource属性,我看了MSDN,都不太看得懂是什么意思
...全文
2054 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
呆呆的洁洁 2013-12-23
  • 打赏
  • 举报
回复 1
这个问题Mgen大神有说到过,应该可以解答您的疑问。 http://www.cnblogs.com/mgen/archive/2012/03/10/2388544.html
第三方3分 2013-10-08
  • 打赏
  • 举报
回复
引用 7 楼 lhx527099095 的回复:
<ContentPresenter ContentSource="Content"/> 这句是说在模板中放入的内容是模板所在的content ContentPresenter相当于一个容器 用于放真正的Content 例如你写个button的模板 里面放ContentPresenter 然后再写button的时候这样写 <button > <textblock text="按钮"/> </button> 这样ContentPresenter的内容实际上就是这个textblock 懂了吧?就是一个容器而已
ContentPresenter我是理解的,它是ContentControl控件模板中用的,我就是不理解ContentSource属性,它是不是下面绑定的简化形式呢? <ContentPresenter Content="{TemplateBinding Content}"/>
lhx527099095 2013-10-08
  • 打赏
  • 举报
回复
<ContentPresenter ContentSource="Content"/> 这句是说在模板中放入的内容是模板所在的content ContentPresenter相当于一个容器 用于放真正的Content 例如你写个button的模板 里面放ContentPresenter 然后再写button的时候这样写 <button > <textblock text="按钮"/> </button> 这样ContentPresenter的内容实际上就是这个textblock 懂了吧?就是一个容器而已
第三方3分 2013-10-08
  • 打赏
  • 举报
回复
MSDN的解释也看不懂,是不是这样的哦: 它相当于简化TemplateBinding绑定。比如Button控件模板中有一句 <ContentPresenter ContentSource="Content"/> 它就相当于: <ContentPresenter Content="{TemplateBinding Content}"/> 我这有理解正确吗?
lhx527099095 2013-10-08
  • 打赏
  • 举报
回复
引用 8 楼 u012110630 的回复:
ContentPresenter我是理解的,它是ContentControl控件模板中用的,我就是不理解ContentSource属性,它是不是下面绑定的简化形式呢? <ContentPresenter Content="{TemplateBinding Content}"/>
恩恩 是的 我一般是写全了的TemplateBinding Content msdn:http://msdn.microsoft.com/zh-cn/library/vstudio/system.windows.controls.contentpresenter.aspx 原话是这样说的 当 ContentPresenter 对象在 ContentControl、 Content、 ContentTemplate和 ContentTemplateSelector 属性访问的 ControlTemplate 其从 ContentControl的相同名称的属性的值。 可以通过设置 ContentSource 属性或绑定具有 ContentPresenter 属性访问这些属性的值从模板化的父元素的其他属性为它们。
第三方3分 2013-09-30
  • 打赏
  • 举报
回复 1
引用 3 楼 qldsrx 的回复:
既然是模板,那么自然哟固定部分和可变部分,那个ContentPresenter 就是可变部分,其它则是固定部分。在使用模板时,固定部分无法进行设计,只能控制其属性,而可变部分则可以在设计视图中任意设计样式。
请明示.........
第三方3分 2013-09-30
  • 打赏
  • 举报
回复
请明示.......
qldsrx 2013-09-30
  • 打赏
  • 举报
回复
既然是模板,那么自然哟固定部分和可变部分,那个ContentPresenter 就是可变部分,其它则是固定部分。在使用模板时,固定部分无法进行设计,只能控制其属性,而可变部分则可以在设计视图中任意设计样式。
  • 打赏
  • 举报
回复
如果你使用过asp.net,那么相当于它的 HolderPlace 或者 ContentPlace。
第三方3分 2013-09-29
  • 打赏
  • 举报
回复
有人知道吗??

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧