Я хочу инкапсулировать view / viewmodel в другой view / viewmodel.Цель состоит в том, чтобы иметь всплывающее окно, панель слайдов или все, что вы можете придумать для общего поведения, и вставить в нее пользовательский вид / модель представления.
Я хочу использовать универсальный для этого, но я застрял
модель родительского вида будет выглядеть так
public class SidePanelViewModel<T>
{
public SidePanelViewModel(T enclosedViewModel)
{
EnclosedViewModel = enclosedViewModel;
}
public T EnclosedViewModel { get; private set; }
}
Родительский вид будет выглядеть так:
... whatever design and behavior ...
<ContentPresenter Content="{Binding EnclosedViewModel}"/>
... whatever design and behavior ...
В моем файле отображения я хотел бы добавить это, новот проблема:
<DataTemplate DataType="{x:Type WPFTests:SidePanelViewModel}">
<WPFTests:SidePanelView />
</DataTemplate>
<DataTemplate DataType="{x:Type WPFTests:EnclosedViewModel}">
<WPFTests:EnclosedView />
</DataTemplate>
Это не работает, потому что конструктор viewmodel SidePanelViewModel требует создания типа.
Я думаю, что я хочу сделать, это иметь представление /viewmodel наследовать от другого view / viewmodel
Надеюсь, кто-то может помочь в этом