0

Excel 2010 アドインでは、複数レベルのRibbonMenuにデータベースのアイテムをプログラムで設定します。ただし、 5 つ以上のレベルを持つRibbonMenuを表示することは不可能のようです。(一部) クライアントは、最大 5 つのネスト レベルのみがサポートされていることを示す実行時例外を受け取ります (逐語的には、「Maximal 5 geschachtelte Menüs sind zulässig.」 )。ダイアログ ウィンドウを閉じると、メニューが表示されて機能しますが、5 レベルよりも深いメニュー項目が表示されず、レベル <= 5 の一部の項目が無効になります (たとえば、RibbonMenus にレベル 5 のリボン ボタンが表示されません)。

メニューがコード (C# を使用) で作成されているか、宣言 (XML) で作成されているかは問題ではありません。

  • 入れ子に制限があるのはなぜですか? それはどこかに文書化されていますか?
  • この制限を無効にするためにできることはありますか? メッセージの数字 '5' は疑わしいように見えます。どこかに魔法の int 値が設定されているようです...
  • Excel リボン内に複数レベルのネストされたメニューを表示するために使用できる他のコントロールはありますか?

ありがとう、よろしく、
トーマス

4

1 に答える 1

0

私はこれについて大きな知識を公言しているわけではなく、単なる興味です。

VS2013 のビジュアル リボン デザイナーでもメニュー コントロールをネストしようとしましたが、実際には 5 レベルまでしか行けません。いくつかの項目を追加して実行すると、(追加された項目ごとに) エラー メッセージが生成され、最大 5 つのネスト レベルが表示されます。だから、これは絶対的な限界のように見えます! また、このエラーメッセージはドキュメントのようです! エラー メッセージは XML CustomUI コードに関連しているため、回避策はほとんどありません。

ただし、第 4 レベルでは、 SplitButtonを追加して、これに項目を追加できるように見えます。これにより、必要なオプションが追加される場合があります。アプリケーションに適合する場合は、このレベルでギャラリー コントロールを追加することも考えられます。この方法でネストできる SplitButton の最大数も 5 であるように見えることも興味深いです。

UI の再設計を検討する時期ではないでしょうか。

于 2014-09-11T18:40:47.937 に答える