我想要一个干净的解决方案来解决我遇到的一个小问题:我有一个标准的主页视图及其视图模型,在视图内我显示一个用户控件(Dossier)及其视图模型(DossierViewModel)。
为了从主视图模型动态实例化我的视图,我使用了 DataTemplate 和 ContentControl :
<Window.Resources>
<DataTemplate DataType="{x:Type vm:DossierViewModel}">
<local:Dossier />
</DataTemplate>
</Window.Resources>
...
<ContentControl x:Name="ContentControl" Content="{Binding SampleDossier}"/>
这里没问题。
但是,我有一个 main 函数,它解析窗口中的所有内容,以保持某些视觉元素状态。当我使用 TreeHelper 来获取我的 ContentControl 的孩子时,我只得到一个视图模型 DossierViewModel。而我想要的是绑定在这个视图模型上的用户控件的视觉元素。
我怎么能跳过那个差距?