Skip to content

Proposal: MenuBar improvements to match Windows Community Toolkit #2216

Open
@michael-hawker

Description

@michael-hawker

Proposal: MenuBar improvements for parity with Windows Community Toolkit

Summary

A while back we deprecated the Menu control in the Windows Community Toolkit when MenuBar was added to WinUI. However, during our PR to remove the feature in our 6.0 release it was brought up that the MenuBar control doesn't have parity with the WinUI one, so we held off on removing it, see discussion in PR.

This proposal is about ensuring we can close the feature gap and remove the Menu control from the Toolkit hopefully later this summer?

Rationale

  • Unify developers on a common Menu control for consistency across apps for Users
  • Add value from developer input from Toolkit control
  • Reduce overhead on the Toolkit code-base

Scope

Capability Priority
Use Menu like an ItemsControl with ItemsSource and DataTemplating Must
Show Alt-key Underlines Option (ties into MenuBarItem not having KeyboardAccelerators) Must
Have MenuBarItem support Click/Command patterns for items or top-level menus see #2740 Must
Showing Alt-key Tooltips Options (old office style) Should
IsOpened Property for Menu and Selected/Opened MenuItems Could
Expose MenuFlyout/Tooltip/etc... Styles #1035 Could
Orientation supported see #1528, maybe a different control? Could

image

image

Important Notes

Was noticing some odd behavior in the Gallery, maybe because the menu's aren't at the top-level navigation?

  • The menu position when using the keyboard isn't synced with the menubar.
  • Right-clicking on menu opened menu as a ContextMenu which appeared odd, especially as it would sometimes flash open the menu in the normal left-click position.
  • For instance, when hitting alt, I did not see the keyboard focus rectangle around the menu, even though it was there (theming issue in Gallery or Insider issue?)

Open Questions

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions