【问题标题】:Why do I need ContentPresenter in SilverLight?为什么我需要 SilverLight 中的 ContentPresenter?
【发布时间】:2011-07-30 12:30:47
【问题描述】:

如果我可以用单个 TextBox 替换它(就像在按钮上), 或者我可以直接将媒体元素添加到Grid(随便)...

ContentPresenter 是干什么用的?有什么优势吗?

【问题讨论】:

    标签: wpf silverlight user-interface contentpresenter


    【解决方案1】:

    您并不总是需要 ContentPresenter。它充当占位符,可以有效地托管您分配给其 Content 属性的任何内容。如果您在给定控件/页面上有一个区域可以保存不确定类型的动态内容,则 ContentPresenter 是保存该空间的有效方法。

    它还经常用于模板、自定义控件等。很可能在你开始接触一些相当高级的东西之前你不会真正使用它。

    您可以做的一件很酷的事情是将 ContentPresenter 的 Content 属性绑定到 UserControl 类型的 DependencyProperty,然后如果您将该 DependencyProperty 设置为等于任何 UserControl(例如您在 ViewModel 中新建的一个或其他东西),它会出现在那个位置。

    【讨论】:

      【解决方案2】:

      您通常使用 ContentPresenter 在 ControlTemplate 的 ContentControl 指定在哪里 内容要补充。每一个 ContentControl 类型有一个 默认的 ContentPresenter 控制模板。

      来自MSDN;所以基本上它是模板中内容的占位符。

      【讨论】:

        【解决方案3】:

        它被 ContentControl 使用。在 ContentControl 的模板中,ContentPresenter 指示实际内容将被放置的位置。

        来自 MSDN,

        显示 ContentControl 的内容。

        【讨论】:

          猜你喜欢
          • 2019-06-09
          • 2012-05-21
          • 2011-05-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-03-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多