ViewLocator в Caliburn.Micro / Caliburn использует DI (Reflection, но может быть изменен для MEF)
MEF / MVVM использует MEF для своего ViewModelLocator
MVVMLight не использует DI (шаблон кода генерирует необходимый код)
Если вы хотите, чтобы логика местоположения view / viewModel была развязана, вам придется использовать некоторую форму DI.
Вы также должны решить, сначала посмотреть или vm?Некоторые фреймворки сначала работают с моделью представления (например, caliburn), а другие, например, MVVMLight - это сначала просмотр ...
Кстати. Caliburn.Micro - одна из моих любимых платформ для использования ...