wpf - 为什么我需要 SilverLight 中的 ContentPresenter?

标签 wpf silverlight user-interface contentpresenter

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

ContentPresenter 的用途是什么?有什么优点吗?

最佳答案

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

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

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

关于wpf - 为什么我需要 SilverLight 中的 ContentPresenter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561694/

相关文章:

c# - 如何在 WPF 中按名称查找样式触发器嵌入元素?

wpf - 性能:WPF 与 Silverlight

Android - onOptionsItemSelected UI 卡住直到完成

c# - 客户端 HttpWebRequest : ArgumentNullException s

python - 在 Tkinter 中如何不断获取 slider 值

java - 扫雷 GUI 游戏的标记按钮

wpf - 如何避免 .Net 3.5 上 WPF 的大量内存泄漏?

.net - 允许调整大小,同时将缩放比例保持在Window上

wpf - 非线性 WPF slider 值

silverlight - XAML 矢量到 Illustrator 或类似工具