在DevExpress eXpressApp Framework(XAF)应用程序中获取导航项

时间:2011-11-10 12:55:04

标签: c# .net devexpress xaf

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

3 个答案:

答案 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天),完全支持是免费的。