Получить элементы навигации в приложении DevExpress eXpressApp Framework (XAF) - PullRequest
2 голосов
/ 10 ноября 2011

У меня есть eXpressApp Framework (XAF) настольное приложение.Главное окно содержит Панель навигации с деревом элементов.Есть ли способ получить список элементов навигации в коде?

Ответы [ 3 ]

4 голосов
/ 11 ноября 2011

модель приложения XAF может быть расширена с помощью интерфейсов.Это действительно легко расширить и усилить.Например, в вашей ситуации я бы открыл модель с помощью ModelEditor и перешел к узлу NavigationItems.Когда вы можете посмотреть на желтую информационную панель в нижней части формы, она говорит: * Член интерфейса: * DevExpress.ExpressApp.SystemModule.IModelApplicationNavigationItems

Это означает, что XAF расширилмодель с использованием IModelApplicationNavigationItems, поэтому нам нужно только привести его к этому интерфейсу и использовать его свойства.

((IModelApplicationNavigationItems) Application.Model).NavigationItems.AllItems

Этот подход имеет тот же результат, что и ваш, однако он сильносвязаны!

1 голос
/ 11 ноября 2011

Ваш код подходит для получения списка элементов навигации из модели приложения (уровень метаданных).Кроме того, вы можете получить доступ к той же информации из свойства ShowNavigationItemController.ShowNavigationItem.Items .

PS В будущем я предлагаю вам использовать Центр поддержки , чтобы получить официальную игарантированная помощь по использованию продуктов DevExpress.Обратите внимание, что ПОЛНАЯ ПОДДЕРЖКА БЕСПЛАТНА в течение оценочного периода (30 дней).

1 голос
/ 11 ноября 2011

Было нелегко найти, но вот решение:

var navigationItems = Application.Model.GetNode<IModelRootNavigationItems>("NavigationItems").AllItems;
...