2

我有一个eXpressApp Framework (XAF)桌面应用程序。主窗口包含带有项目树的导航窗格。有没有办法获取代码中的导航项列表?

4

3 回答 3

4

可以使用接口扩展 XAF 应用程序模型。扩展它并对其进行意图化真的很容易。例如,在您的情况下,我将使用 ModelEditor 打开模型并导航到 NavigationItems 节点。当您可以查看表单底部的黄色信息面板时,它会显示 *接口成员: *DevExpress.ExpressApp.SystemModule.IModelApplicationNavigationItems

这意味着 XAF 使用 IModelApplicationNavigationItems 扩展了模型,因此我们需要做的就是将其转换为该接口并使用其属性。

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

这种方法与您的结果相同,但是具有很强的约束力!

于 2011-11-11T13:33:37.133 回答
1

这并不容易找到,但这里是解决方案:

var navigationItems = Application.Model.GetNode<IModelRootNavigationItems>("NavigationItems").AllItems;
于 2011-11-11T07:40:00.570 回答
1

您的代码适合从应用程序模型(元数据层)获取导航元素列表。或者,您可以从ShowNavigationItemController.ShowNavigationItem.Items属性访问相同的信息。

PS 今后,我建议您使用Support Center获得有关 DevExpress 产品使用的官方和有保证的帮助。请注意,在评估期间(30 天),完全支持是免费的。

于 2011-11-11T13:32:36.713 回答