如果我可以用一个TextBox
代替它(如按钮上的),
或者我可以直接将媒体元素添加到Grid
(无论如何)...ContentPresenter
的作用是什么?有什么优势吗?
最佳答案
您并不总是需要ContentPresenter。它充当占位符,将有效地承载您分配给其Content属性的任何内容。如果给定控件/页面上的区域可以保存不确定类型的动态内容,则ContentPresenter是保存空间的有效方法。
它也与模板,自定义控件等一起使用了很多。奇怪的是,在开始学习一些相当高级的内容之前,您实际上不会使用它。
您可以做的一件很酷的事情是将ContentPresenter的Content属性绑定到类型为UserControl的DependencyProperty,然后如果将DependencyProperty设置为等于任何UserControl(例如您在ViewModel中新建的东西)会出现在那个地方。
关于wpf - 为什么在SilverLight中需要ContentPresenter?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5561694/