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

このコードは、アプリケーション モデル (メタ データ層) からナビゲーション要素のリストを取得するのに適しています。または、 ShowNavigationItemController.ShowNavigationItem.Itemsプロパティから同じ情報にアクセスできます。

PS 今後は、サポート センターを使用して、DevExpress 製品の使用に関する公式の保証付きサポートを受けることをお勧めします。評価期間中 (30 日間) は完全なサポートが無料であることに注意してください。

于 2011-11-11T13:32:36.713 に答える
1

見つけるのは簡単ではありませんでしたが、解決策は次のとおりです。

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