【发布时间】:2011-07-30 12:30:47
【问题描述】:
如果我可以用单个 TextBox 替换它(就像在按钮上),
或者我可以直接将媒体元素添加到Grid(随便)...
ContentPresenter 是干什么用的?有什么优势吗?
【问题讨论】:
标签: wpf silverlight user-interface contentpresenter
如果我可以用单个 TextBox 替换它(就像在按钮上),
或者我可以直接将媒体元素添加到Grid(随便)...
ContentPresenter 是干什么用的?有什么优势吗?
【问题讨论】:
标签: wpf silverlight user-interface contentpresenter
您并不总是需要 ContentPresenter。它充当占位符,可以有效地托管您分配给其 Content 属性的任何内容。如果您在给定控件/页面上有一个区域可以保存不确定类型的动态内容,则 ContentPresenter 是保存该空间的有效方法。
它还经常用于模板、自定义控件等。很可能在你开始接触一些相当高级的东西之前你不会真正使用它。
您可以做的一件很酷的事情是将 ContentPresenter 的 Content 属性绑定到 UserControl 类型的 DependencyProperty,然后如果您将该 DependencyProperty 设置为等于任何 UserControl(例如您在 ViewModel 中新建的一个或其他东西),它会出现在那个位置。
【讨论】:
您通常使用 ContentPresenter 在 ControlTemplate 的 ContentControl 指定在哪里 内容要补充。每一个 ContentControl 类型有一个 默认的 ContentPresenter 控制模板。
来自MSDN;所以基本上它是模板中内容的占位符。
【讨论】:
它被 ContentControl 使用。在 ContentControl 的模板中,ContentPresenter 指示实际内容将被放置的位置。
来自 MSDN,
显示 ContentControl 的内容。
【讨论】: