The `PointerEnteredItem` and `PointerExitedItem` were using an obsolete API to create the event args. We don't need a `PointerEventArgs` anyway, just use `RoutedEventArgs`.
Adds two attributes which describe the stability of an API:
- `UnstableAttribute` indicates that we provide no API stability guarantees for the class between minor/patch versions. This is mostly applied to `*Impl` interfaces which describe the interface between core Avalonia and platform implementations
- `NotClientImplementableAttribute` indicates that an interface is stable for consumption by a client, but should not be implemented outside of Avalonia itself (either because custom implementations are not supported, or because as members may be added to its API)
* [MenuItem] [Performance] Evaluate CanExecute on menu show and only if menu is visible
* [Revert] a change from another PR
* Update tests/Avalonia.Controls.UnitTests/MenuItemTests.cs
Co-authored-by: Steven Kirk <grokys@users.noreply.github.com>
* Update tests/Avalonia.Controls.UnitTests/MenuItemTests.cs
Co-authored-by: Steven Kirk <grokys@users.noreply.github.com>
* fix typo
* [MenuItem] fix IsEffectivelyEnabled and cover with tests
Co-authored-by: Steven Kirk <grokys@users.noreply.github.com>
Co-authored-by: Max Katz <maxkatz6@outlook.com>
Pointer clicks on disabled and non-interactive items in sub-menus
are bubbled up to the sub-menu's parent, causing the sub-menu popup
to be closed when it is expected to remain open. This scenario is
identified and filtered out by searching for a popup in the logical
tree between the source and the handler. Fixes#6412.
Allow the default keyboard interaction handler to handle tab key presses in menus, because the logic in `DefaultMenuInteractionHandler` was causing the focus to get stuck in the menu.
Also fix `NavigationDirection.IsDirectional` method.
Fixes#5002.