基于this机制,我创建了一个对话窗口,我可以通过<ContentPresenter Content="{Binding .}">
动态分配内容
我想要分配的内容是具有相应ViewModel的用户控件。这可以工作,因为我可以在其他用户控件中呈现DialogView
<DataTemplate DataType="{x:Type ViewModels:DialogViewModel}">
<Views:DialogView/>
</DataTemplate>
)
但是,在DialogWindow中,无法呈现DialogView,而只能看到DialogViewModel的字符串表示形式。可能是什么原因导致我无法呈现contentpresenter的内容?
非常感谢任何帮助!
提前致谢
答案 0 :(得分:0)
您在哪里定义数据模板?听起来您正在将它们创建为Window资源,并且未将它包含在DialogWindow中。如果您将它们定义为Window资源,则需要在每个要以此方式呈现的Window上包含数据模板定义。如果ViewModel / View对是应用程序的全局对象,则可以更容易地在App.xaml中定义它,整个应用程序中的任何Window或UserControl将对其进行拾取。