DropdownMenu.AppendAction
Declaration
public void AppendAction(string actionName, Action<DropdownMenuAction> action, Func<DropdownMenuAction,Status> actionStatusCallback, object userData);Параметры
| Параметр | Описание |
|---|---|
| actionName | Имя элемента. Это имя отображается в раскрывающемся меню. |
| действия | Обратный вызов, выполняемый при выборе пользователем этого пункта в меню. |
| actionStatusCallback | Обратный вызов, выполняемый для определения состояния этого элемента. |
| userData | Объект для хранения в свойстве userData элемента DropdownMenuAction. |
Описание
Добавление элемента, который выполняет действие в раскрывающемся меню.
Элемент добавляется в конец текущего списка элементов.
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("Submenu/My Action 1", a => Debug.Log("My Action 1 Works"), action => { action.tooltip = "Status dependent tooltip"; return DropdownMenuAction.Status.Normal; }, null); }));
rootVisualElement.Add(contextMenuContainer); } }
Declaration
public void AppendAction(string actionName, Action<DropdownMenuAction> action, UIElements.DropdownMenuAction.Status status);Параметры
| Параметр | Описание |
|---|---|
| actionName | Имя элемента. Это имя отображается в раскрывающемся меню. |
| действия | Обратный вызов, выполняемый при выборе пользователем этого пункта в меню. |
| статус | Статус пункта. |
Описание
Добавление элемента, который выполняет действие в раскрывающемся меню.
Элемент добавляется в конец текущего списка элементов.
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); }));
rootVisualElement.Add(contextMenuContainer); } }