index | 要移除的项的索引。 |
移除索引处的菜单项。
using UnityEditor; using UnityEngine; using UnityEngine.UIElements;
public class ContextMenuWindow : EditorWindow { [MenuItem("My/Context Menu Window")] static void ShowMe() => GetWindow<ContextMenuWindow>();
void CreateGUI() { var contextMenuContainer = new VisualElement(); contextMenuContainer.style.flexGrow = 1; contextMenuContainer.AddManipulator(new ContextualMenuManipulator(e => { e.menu.AppendAction("My Action 1", a => Debug.Log("My Action 1 Works"), DropdownMenuAction.Status.Normal); e.menu.AppendAction("My Action 2", a => Debug.Log("My Action 2 Works"), DropdownMenuAction.Status.Normal); e.menu.AppendAction("My Action 3", a => Debug.Log("My Action 3 Works"), DropdownMenuAction.Status.Normal);
e.menu.RemoveItemAt(0); // Remove My Action 1 e.menu.RemoveItemAt(1); // Remove My Action 3 (item indices have shifted after first removal) }));
rootVisualElement.Add(contextMenuContainer); } }