призматическая навигация: я могу запросить навигацию только к одному конкретному виду - PullRequest
2 голосов
/ 30 января 2012

Я использую призму 4.0, wpf,

Я создаю RegionAdapter для devx DocumentGroup.

У меня есть представление, которое отображается как содержимое DocumentPanel (дочерний элемент DocumentGroup). Я регистрирую представление в контейнере. все в порядке. Я могу запросить просмотр области DocumentGroup.

container.RegisterType<Object, NatLossesView>("NatLossesView",new TransientLifetimeManager());

Проблема: Я могу создать только один вид в элементах DocumentGroup. Например, моя программа загружена, на панели нет документов. Я делаю

var NatLossesViewU = new Uri("NatLossesView", UriKind.Relative); regionManager.RequestNavigate("DocumentGroupRegion", NatLossesViewU);

Вид показан. Я хотел бы создать еще один экземпляр view, но вызов предыдущего кода ничего не делает. После того, как я закрою вид, я могу вызвать мой код, и вид снова появится

решаемые

Я сам решил свою проблему. ViewModel должен реализовывать интерфейс INavigationAware . Метод IsNavigationTarget должен быть таким:

public bool IsNavigationTarget(NavigationContext navigationContext)
{
            //throw new NotImplementedException();
            return false;
}

1 Ответ

1 голос
/ 30 января 2012

при условии, что в вашем регионе adpater вы убедитесь, что добавленное представление правильно добавлено в список элементов docnwindowgroup - попробуйте следующий код,

var NatLossesViewobj = _container.Resolve<NatLossesView>() 
regionManager.AddToRegion("DocumentGroupRegion", NatLossesViewobj);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...