Unity Issue Tracker - Cannot delayed opening context menu
Closed
UUM-65120
Cannot delayed opening context menu
Unity: UI Toolkit Controls
As Designed
2023.3.X
This is as designed. The contextual menu event needs to be tied to a pointer event, so it needs to happen right away.
Any alternate logic can be done in scheduled items by creating a DropdownMenu manually instead of using events.
It is currently not possible to open a context menu during a VisualElement.schedule.Execute(). There are some use cases where we have to delay the opening of a context menu in order to ensure mouse events and focus changed were processed.
For instance, if you want to show a context menu on a TreeView/ListView. Because on MacOS, context menus are shown on MouseDown, the ContextMenu manipulator would catch the mouse event because the TreeView/ListView, which means it would try to open a menu before the TreeView's selection is changed. In such case, one of the solution would be to delay the context menu.
Steps to reproduce:
1.
2.
3.
Actual results:
Expected results:
Reproducible with versions:
Not reproducible with versions:
Can’t test with versions:
Tested on (OS):
Notes:
Prioritise and Follow this issue
Have a workaround or additional info about this issue?