Невозможно зарегистрировать виртуальную машину через Prism Navigation
Я создаю приложение WPF Core 3.1 с помощью Prism 7. В одном из представлений я пытаюсь зарегистрировать модель представления для навигации PRISM через:
containerRegistry.RegisterForNavigation<ViewA, ViewAViewModel>();
И при необходимости я запрашиваю навигационную службу PRISM для перехода к просмотру с помощью Region Manager.
_regionManager.RequestNavigate(RegionNames.ContentRegion, "ViewA");
Навигация к представлению завершена, и я могу видеть представление в определенной области, но модель представления не назначена представлению.
Я попытался вручную зарегистрировать модель представления с помощью ViewModelLocationProvider, но по-прежнему модель представления не назначена.
ViewModelLocationProvider.Register<ViewA, ViewAViewModel>();
Но если я использую свойство PRISM Autowire в представлении, тогда модель представления обнаруживается и назначается представлению.
prism:ViewModelLocator.AutoWireViewModel="True"
Класс модели представления, объявленный с использованием интерфейса IConfirmNavigationRequest, необходимого для обработки запросов навигации
public class ViewAViewModel : RegionViewModelBase , IConfirmNavigationRequest
Я не могу понять, что мне здесь не хватает.
1 ответ
Единственное, что я вижу не так, это то, что вам нужно использовать интерфейс
INavigationAware
не
IConfirmNavigationRequest
. Я предполагаю
RegionViewModelBase
орудия
BindableBase
уже.
public class ViewAViewModel : RegionViewModelBase, INavigationAware