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