0

我在 RibbonTab 中有大约 5 个 RibbonGroups,每个功能区组包含大约 3-5 个命令。为了适应屏幕上的所有内容,WPF Ribbon 控件会自动将几个 RibbonGroups 折叠到下拉菜单中。到这里为止没有什么特别的。

现在我看到折叠的 RibbonGroups 中的命令的 CanExecute 事件在第一次打开下拉菜单之前不会触发。(这可能是为了提高性能 - 即除非任何命令可见,否则需要触发 CanExecute!?)

在我的应用程序中,逻辑是,如果在 RibbonGroup 中没有启用任何命令(即 CanExecute 为 false),则我们隐藏该 RibbonGroup。但除非所有 CanExecute 都被触发,否则我不知道启用了多少(或所有)命令。

这是 RibbonGroup 的限制还是设计使然?是否有任何解决方法可以手动执行所有 CanExecutes,至少一次,无论命令是否在折叠的 RibbonGroup 中。

顺便说一句,CommandManager.InvalidateRequerySuggested()这里也无济于事。

4

1 回答 1

1

RibbonControls 被发现是一个非常幸运的库。考虑迁移到Fluent Ribbon Control Suite

于 2012-10-18T10:56:33.690 回答