我有一个eXpressApp Framework (XAF)桌面应用程序。主窗口包含Navigation pane项目树。有没有办法获取代码中的导航项列表?
答案 0 :(得分:4)
可以使用接口扩展XAF应用程序模型。扩展它并识别它真的很容易。例如,在您的情况下,我将使用ModelEditor打开模型并导航到NavigationItems节点。在那里,您可以查看表单底部的黄色信息面板,它显示* 界面成员: * DevExpress.ExpressApp.SystemModule.IModelApplicationNavigationItems
这意味着XAF使用IModelApplicationNavigationItems扩展了模型,因此我们所要做的就是将其强制转换为该接口并使用其属性。
((IModelApplicationNavigationItems) Application.Model).NavigationItems.AllItems
这种方法与您的方法具有相同的结果,但受到强烈约束!
答案 1 :(得分:1)
这不容易找到,但这是解决方案:
var navigationItems = Application.Model.GetNode<IModelRootNavigationItems>("NavigationItems").AllItems;
答案 2 :(得分:1)
您的代码适合从应用程序模型(元数据层)获取导航元素列表。 或者,您可以从ShowNavigationItemController.ShowNavigationItem.Items属性访问相同的信息。
P.S。 将来,我建议您使用Support Center获取有关DevExpress产品使用的官方和保证协助。请注意,在评估期间(30天),完全支持是免费的。