为什么我需要ContentPresenter在SilverLight



如果我可以将其替换为单个TextBox(如按钮上),或者我可以直接添加媒体元素到Grid(无论什么)…

ContentPresenter是干什么用的?有什么好处吗?

你并不总是需要一个ContentPresenter。它充当占位符,有效地承载分配给其content属性的任何内容。如果你在给定的控件/页面上有一个区域可以容纳不确定类型的动态内容,ContentPresenter是一个有效的方式来容纳空间。

它在模板、自定义控件等方面也经常使用。在你开始学习一些相当高级的东西之前,你可能不会真正使用它。

你可以做的一件很酷的事情是将ContentPresenter的Content属性绑定到UserControl类型的DependencyProperty上,然后如果你将DependencyProperty设置为任何UserControl(比如你在ViewModel中新建的UserControl)它会显示在那个位置

你通常使用ContentPresenter在控件的ControlTemplate中来指定要添加内容。每一个ContentControl类型有默认的ContentPresenter往ControlTemplate中加故事板动画。

从MSDN

;它是模板中内容的占位符

ContentControl使用。在ContentControl的模板中,ContentPresenter作为占位符指示实际内容放置的位置。

From MSDN,

显示ContentControl的内容。

相关内容

  • 没有找到相关文章

最新更新