版本:Unity 6 (6000.0)
语言英语
  • C#

DropdownMenu.InsertSeparator

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有投稿,但我们确实会阅读用户提出的每个建议更改,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,无法提交您建议的更改。请在几分钟内<a>重试</a>。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public void InsertSeparator(string subMenuPath, int atIndex);

参数

subMenuPath 要向其添加分隔符的子菜单路径。路径组件以正斜杠('/')分隔。
atIndex 在其中插入分隔符的索引。

说明

在菜单中添加一条分隔线。

分隔符被添加在列表中指定索引的末尾。

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); // 0 e.menu.AppendAction("My Action 2", a => Debug.Log("My Action 2 Works"), DropdownMenuAction.Status.Normal); // 1 e.menu.AppendAction("Submenu/My Action 3", a => Debug.Log("My Action 3 Works"), DropdownMenuAction.Status.Normal); // 2 e.menu.AppendAction("Submenu/My Action 4", a => Debug.Log("My Action 4 Works"), DropdownMenuAction.Status.Normal); // 3

e.menu.InsertSeparator("/", 1); // Indices from 1 to 3 are shifted up index by 1. In result 'My Action 2' now has an index of 2. e.menu.InsertSeparator("Submenu/", 4); // If we want to insert a separator between submenu items, we have to use shifted indices }));

rootVisualElement.Add(contextMenuContainer); } }