В приложении с контейнером Autofac и зарегистрированной виртуальной машиной мне нужно назначить DataContext в ситуации, когда у меня есть только просмотр моделей Тип.
Вызовы MainViewModel NavigationService :
await NavigationService.NavigateToAsync<UpdateViewModel>();
А в моем классе обслуживания, как это сделать ( это прекрасно работает ):
private async Task InternalNavigateToAsync(Type viewModelType, object parameter)
{
var bootStrapper = new BootStrapper();
var container = bootStrapper.BootStrap();
Window window = CreateWindow(viewModelType, parameter);
//this works fine
if (viewModelType.Name == "MainViewModel")
{
window.DataContext = container.Resolve<MainViewModel>();
}
if (viewModelType.Name == "UpdateViewModel")
{
window.DataContext = container.Resolve<UpdateViewModel>();
}
window.Show();
}
это ( не работает):
private async Task InternalNavigateToAsync(Type viewModelType, object parameter)
{
var bootStrapper = new BootStrapper();
var container = bootStrapper.BootStrap();
Window window = CreateWindow(viewModelType, parameter);
//but how to do this?
window.DataContext = container.Resolve<viewModelType>();
window.Show();
}
И это дает мне ошибку:
'viewModelType' является переменной, но используется как тип