版本:Unity 6 (6000.0)
语言:English
UXML 元素 ToolbarButton
UXML 元素 ToolbarPopupSearchField

UXML 元素 ToolbarMenu

ToolbarMenu 是一种 仅限编辑器 控件,用作菜单。它具有与 工具栏Unity 编辑器顶部的按钮和基本控件行,允许您以各种方式与编辑器交互(例如,缩放、平移)。 更多信息
参见 术语表
样式匹配的预定义样式。

创建 ToolbarMenu

您可以使用 UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息
参见 术语表
构建器、UXML 或 C# 创建 ToolbarMenu。以下 C# 示例创建了一个带有三个菜单项的 ToolbarMenu

using UnityEditor.UIElements;
...
var toolbarMenu = new ToolbarMenu() { text = "Menu Text" };
toolbarMenu.menu.AppendAction("Menu item 1", (a) => { Debug.Log("Menu item 1 clicked"); });
toolbarMenu.menu.AppendAction("Menu item 2", (a) => { Debug.Log("Menu item 2 clicked"); });
toolbarMenu.menu.AppendAction("Menu item 3", (a) => { Debug.Log("Menu item 3 clicked"); });

C# 基类和命名空间

C# 类ToolbarMenu
命名空间UnityEditor.UIElements
基类TextElement

继承的 UXML 属性

此元素从其基类继承以下属性

名称 类型 描述
binding-path 字符串 要绑定的目标属性的路径。
display-tooltip-when-elided 布尔值 如果为真,则工具提示将显示省略文本的完整版本,并且如果之前提供了工具提示,它将被覆盖。
emoji-fallback-support 布尔值 指定系统在呈现文本时查找 Emoji 字符的顺序。如果启用此设置,则将首先在全局 Emoji 回退列表中搜索在 Unicode 14.0 标准中定义为 Emoji 的字符。
enable-rich-text 布尔值 如果为假,则不会解析富文本标签。
focusable 布尔值 如果元素可以聚焦,则为真。
parse-escape-sequences 布尔值 指定转义序列按原样显示还是替换为它们表示的字符。
tabindex 整数 用于在焦点环中对可聚焦元素进行排序的整数。必须大于或等于零。
text 字符串 要显示的文本。

更改此值将隐式调用INotifyValueChanged_1.value设置器,这将引发类型为字符串的ChangeEvent_1

此元素还从VisualElement继承以下属性

名称 类型 描述
content-container 字符串 子元素添加到其中,通常与元素本身相同。
data-source 对象 为该 VisualElement 分配数据源,覆盖任何继承的数据源。此数据源由所有子元素继承。
data-source-path 字符串 从数据源到值的路径。
data-source-type System.Type 可分配给此 VisualElement 的数据源的可能类型。

此信息仅供 UI 构建器使用,作为提示,在设计时无法指定有效数据源时,为数据源路径字段提供一些完成。
language-direction UIElements.LanguageDirection 指示元素文本的方向性。该值将传播到元素的子元素。

将 languageDirection 设置为 RTL 通过反转文本并适当地处理换行和自动换行来添加对从右到左 (RTL) 的基本支持。但是,它不提供全面的 RTL 支持,因为这需要文本整形,包括字符的重新排序和 OpenType 字体功能支持。全面的 RTL 支持计划在将来的更新中提供,这将涉及其他 API 来处理语言、脚本和字体功能规范。

为了增强此属性的 RTL 功能,用户可以探索 Unity Asset Store 中可用的第三方插件并使用ITextElementExperimentalFeatures.renderedText
name 字符串 此 VisualElement 的名称。

使用此属性编写针对特定元素的 USS 选择器。标准做法是为元素指定唯一名称。
picking-mode UIElements.PickingMode 确定此元素是否可以在鼠标事件或IPanel.Pick查询期间被拾取。
style 字符串 设置VisualElement样式值。
tooltip 字符串 在用户将鼠标悬停在元素上一段时间后,在信息框内显示的文本。这仅在编辑器 UI 中受支持。
usage-hints UIElements.UsageHints 指定VisualElement的高级预期使用模式的提示值的组合。此属性仅在VisualElement尚未成为Panel的一部分时才能设置。一旦成为Panel的一部分,此属性实际上就成为只读的,尝试更改它将引发异常。正确UsageHints的规范驱动系统做出更好的决策,关于如何根据预期的使用模式处理或加速某些操作。请注意,这些提示不会影响行为或视觉结果,而只会影响面板及其内部元素的整体性能。建议始终考虑指定正确的UsageHints,但请记住,在某些条件下(例如,由于目标平台上的硬件限制),某些UsageHints可能会被内部忽略。
view-data-key 字符串 用于视图数据持久性,例如树展开状态、滚动位置或缩放级别。

此键用于从视图数据存储中保存和加载视图数据。如果您不设置此键,则相关联的VisualElement的持久性将被禁用。有关更多信息,请参阅视图数据持久性

USS 类

下表列出了所有 C# 公共属性名称及其相关的 USS 选择器。

C# 属性 USS 选择器 描述
ussClassName .unity-toolbar-menu 此类型元素的 USS 类名称。
popupVariantUssClassName .unity-toolbar-menu--popup 此类型元素的 USS 类名称,当它们显示为弹出菜单时。
textUssClassName .unity-toolbar-menu__text 此类型元素中文本元素的 USS 类名称。
arrowUssClassName .unity-toolbar-menu__arrow 此类型元素中箭头指示器的 USS 类名称。
ussClassName .unity-text-element 此类型元素的 USS 类名称。
selectableUssClassName .unity-text-element__selectable 可选择文本元素的 USS 类名称。
disabledUssClassName .unity-disabled 本地禁用元素的 USS 类名称。

您还可以使用检查器或 UI 工具包调试器中的匹配选择器部分查看哪些 USS 选择器影响VisualElement在其层次结构的每个级别的组件。

其他资源

UXML 元素 ToolbarButton
UXML 元素 ToolbarPopupSearchField