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

C# 在DevExpress eXpressApp Framework(XAF)应用程序中获取导航项,c#,.net,devexpress,xaf,C#,.net,Devexpress,Xaf,我有一个桌面应用程序。主窗口包含项目树。有没有办法获得代码中的导航项列表?很难找到,但下面是解决方案: var navigationItems = Application.Model.GetNode<IModelRootNavigationItems>("NavigationItems").AllItems; var navigationItems=Application.Model.GetNode(“navigationItems”).AllItems; 您的代码适合从应用程序模

我有一个桌面应用程序。主窗口包含项目树。有没有办法获得代码中的导航项列表?

很难找到,但下面是解决方案:

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

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

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

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

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


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

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