另一个ContentControl中的WPF ContentControl未显示
本文关键字:ContentControl 显示 中的 另一个 WPF | 更新日期: 2023-09-27 18:29:00
我有一个带ContentControl的窗口,用来模拟运行良好的向导导航。为了重构一些代码,我以完全相同的方式在另一个窗口中使用的向导的一个UserControl中提取了一个表单。。。
我提取的UserControl在另一个窗口(不是向导窗口)上运行良好,但在向导中的UserControl中运行不好。。。我在这两种情况下都使用ContentControl。。。
我没有任何错误。。。我已经调试过了,在这两种情况下都调用了构造函数,但在向导内部,它并没有出现,只是这样。
来自简单窗口的代码是:
<Controls:MetroWindow x:Class="Desktop.Views.FilePropertiesViewModel">
<Grid>
<ScrollViewer VerticalScrollBarVisibility="Visible">
<ContentControl x:Name="DocumentPropertyListViewModel" />
</ScrollViewer>
</Grid>
</Controls:MetroWindow>
在后面的代码中,在我的Window 的构造函数中
public DocumentPropertyListViewModel DocumentPropertyListViewModel { get; set; }
public FilePropertiesViewModel(){
this.DocumentPropertyListViewModel = new DocumentPropertyListViewModel(File.Properties, false);
}
区别,正如所说的(作为参考,而不是真正的代码):
<ContentControl x:Name="Wizard"> <!-- Loading plenty of UserControls>
<ContentControl x:Name="DocumentPropertyListViewModel" /> <!-- One of the UserControls has this -->
</ContentControl>
顺便说一句,我使用的是Caliburn.Micro,这就是为什么我使用ContentControl而不是普通的UserControl引用,我不知道如何用其他方式。。。
我在这里做错了什么?
您可以尝试一下。。。
<ContentControl x:Name="Wizard">
<ContentControl cm:View.Model="{Binding DocPropListViewProp}" />
</ContentControl>
其中DocPropListViewProp
是主窗口中DocumentPropertyListViewModel类型的视图模型属性viewmodel
And in the code behind, in the constructor of my Window
public DocumentPropertyListViewModel DocumentPropertyListViewModel { get; set; }
public FilePropertiesViewModel(){
this.DocumentPropertyListViewModel = new DocumentPropertyListViewModel(File.Properties, false);
}
仍然对上面的声明感到困扰,你提供的代码片段说你在代码后台有它,你是指ViewModel吗?
此外,您使用的IoC:MEF、SimpleContainer等容器是什么。。。?没有什么