如何在 Cattle 的视图中动态创建用户控件

How to create usercontrols dynamically within view in Catel

我正在尝试根据所选值动态设置视图的一部分。 我已经设法使用 xaml 设置 View 和 ViewModel,如下所示:

    <DataTemplate DataType="{x:Type vm:MyViewModel}">
        <v:MyUserControl />
    </DataTemplate>
...

<ContentControl Content="{Binding MyViewModel}" />

但这似乎不太灵活,因为每次我向列表获取新值时都必须向视图添加新类型。

我认为 Catel (3.9) 应该可以实现更动态的功能。就像这个问题中的那个:How Instantiate Control Programmatically in Catel

我已经尝试绑定到 ViewModel,但 Catel 似乎无法识别 UserControls,也没有实例化 View。还有其他方法吗?

我认为您正在寻找 ViewModelToViewConverter,它会自动为您完成所有这些工作。