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

GenericDropdownMenu

UnityEngine.UIElements 中的类

/

实现于:UnityEngine.UIElementsModule

建议修改

成功!

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

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

GenericDropdownMenu 允许您显示具有默认文本选项或任何 VisualElement 的上下文菜单。

GenericDropdownMenu 是下拉菜单的通用实现,您可以在编辑器 UI 和运行时 UI 中使用它。

以下示例创建了一个包含三个项目的下拉菜单。当用户点击按钮时,它会显示菜单。该示例还演示了如何使用 DropDown 方法设置下拉菜单的宽度。

using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;

public class MenuExample : EditorWindow {

[MenuItem("Window/UI Toolkit/MenuExample")] public static void ShowExample() { MenuExample wnd = GetWindow<MenuExample>(); wnd.titleContent = new GUIContent("MenuExample"); } public void CreateGUI() { VisualElement root = rootVisualElement;

// Create a button. var button = new Button(); button.text = "Button"; button.style.width = 70;

// Create a dropdown menu with three items. var menu = new GenericDropdownMenu(); menu.AddItem("Item 1", false, a => { Debug.Log("Item 1 was selected"); }, null); menu.AddItem("Item 2", false, a => { Debug.Log("Item 2 was selected"); }, null); menu.AddItem("Item 3 has a very very long label", false, a => { Debug.Log("Item 3 was selected"); }, null);

// When the button is clicked, the dropdown menu is displayed aligned with the button's world boundaries. button.clicked += () => { // The third and the fourth parameters of the DropDown set the width of the dropdown menu. // This sets the width of the dropdown menu to the width of the container. menu.DropDown(button.worldBound, button, false); // This sets the width of the dropdown menu to the width of the button. // menu.DropDown(button.worldBound, button, true, false); // This sets the width of the dropdown menu to the width of the longest item. // menu.DropDown(button.worldBound, button, true, true); }; root.Add(button); } }

静态属性

checkmarkUssClassName此类型元素中分隔符的 USS 类名。
containerInnerUssClassName此类型元素中内部容器的 USS 类名。
containerOuterUssClassName此类型元素中外部容器的 USS 类名。
contentWidthUssClassName当 GenericDropdownMenu 适应其内容宽度时添加的 USS 类名。
itemContentUssClassName此类型元素中标签的 USS 类名。
itemUssClassName此类型元素中标签的 USS 类名。
labelUssClassName此类型元素中标签的 USS 类名。
separatorUssClassName此类型元素中分隔符的 USS 类名。
ussClassName此类型元素的 USS 类名。

属性

contentContainer返回 GenericDropdownMenu 的内容容器。如果用户不想使用默认实现,则允许他们创建自己的下拉菜单。

构造函数

GenericDropdownMenu初始化并返回 GenericDropdownMenu 的实例。

公共方法

AddDisabledItem使用默认的 VisualElement 将禁用项添加到此菜单。
AddItem使用默认的 VisualElement 将项目添加到此菜单。
AddSeparator在此菜单中先前添加的项目之后添加一个视觉分隔符。
DropDown在指定位置显示菜单。