0

RibbonTab内に約5つのRibbonGroupがあり、各リボングループには約3〜5のコマンドが含まれています。すべてを画面に表示するために、WPFリボンコントロールはいくつかのRibbonGroupをドロップダウンメニューに自動的に折りたたむ。ここまで特別なことは何もありません。

ドロップダウンが最初に開かれるまで、折りたたまれたRibbonGroups内のコマンドのCanExecuteイベントが発生しないことがわかります。(これはパフォーマンスを向上させるためかもしれません-つまり、コマンドが表示されていない限り、CanExecuteを起動する必要があります!?)

私のアプリケーションでは、RibbonGroupでコマンドが有効になっていない場合(つまり、CanExecuteがfalseの場合)、そのRibbonGroupを非表示にするロジックです。ただし、すべてのCanExecuteが起動されない限り、有効になっているコマンドの数(またはすべて)がわかりません。

これはRibbonGroupの制限ですか、それともこの動作は仕様によるものですか?コマンドが折りたたまれたRibbonGroupにあるかどうかに関係なく、すべてのCanExecuteを少なくとも1回手動で実行するための回避策はありますか。

ところで、CommandManager.InvalidateRequerySuggested()ここでも役に立ちません。

4

1 に答える 1

1

RibbonControls は非常に厄介なライブラリであることがわかりました。Fluent Ribbon Control Suiteへの移行を検討する

于 2012-10-18T10:56:33.690 に答える