ContextMenu 控制
用于输入命令的控件。
备注
GitHub 代码组件存储库中的完整文档和源代码。
说明
上下文菜单 (ContextMenu
) 是基于选择、鼠标悬停或键盘焦点上下文的命令列表。 它们是最有效和最常用的命令界面之一,可以在各种地方使用。
此代码组件提供了一个围绕绑定到按钮的 Fluent UI ContextualMenu 控件的包装器,用于画布应用和自定义页面。
属性
键属性
属性 | 说明 |
---|---|
Items |
要呈现的操作项。 第一项将被视为根项。 |
Items
性能
Name | 说明 |
---|---|
ItemDisplayName |
菜单项的显示名称。 |
ItemKey |
用于指示选择了哪个项以及何时添加子项的键。 键必须是唯一的。 |
ItemEnabled |
如果选项被禁用,设置为 false。 |
ItemVisible |
如果选项不可见,设置为 false。 |
ItemChecked |
如果选项被选中,则设置为 true。 |
ItemIconName |
要使用的 Fluent UI 图标(请参阅 Fluent UI 图标) |
ItemIconColor |
呈现图标使用的颜色(例如,指定、RGB 或十六进制值)。 |
ItemIconOnly |
不显示文本标签 - 只显示图标。 |
ItemHeader |
将项目呈现为部分标题。 如果有项目将 ItemParentKey 设置为此项目的键,则将它们作为语义分组项添加到此部分下。 |
ItemTopDivider |
在部分的顶部呈现分隔线。 |
ItemDivider |
将项目呈现为部分分隔线 - 或者如果项目是标题 (ItemHeader = true),则控制是否在部分底部呈现分隔线。 |
ItemParentKey |
将选项呈现为另一个选项的子项。 |
备注
ItemIconColor
将覆盖组件的 Theme 值并忽略其他状态颜色(例如,disabled)。ItemHeader
并且必须ItemDivider
设置为 true 才能呈现为分隔线。 如果设置为 false,将为其他值,并呈现空白。- 添加子菜单项的
ItemChecked
属性和行为将阻止子菜单在单击时关闭。
示例
Items
的 Power Fx 公式示例:
Table(
{
ItemKey: "File",
ItemIconName: "save",
ItemDisplayName: "Save",
ItemOverflow:true
},
{
ItemKey: "Delete",
ItemIconName: "Delete",
ItemDisplayName: "Delete",
ItemOverflow:true
}
)
样式属性
属性 | 说明 |
---|---|
Theme |
接受使用 Fluent UI 主题设计器 (windows.net) 生成的 JSON 字符串。 将此属性留空将使用 Power Apps 定义的默认主题。 将此属性留空将使用 Power Apps 定义的默认主题。 有关如何配置的指导,请参阅主题化。 |
Chevron |
在根按钮上显示或隐藏倒 V 形图标 |
IconColor |
可选。 上下文菜单按钮上的图标的颜色。 |
HoverIconColor |
可选。 将鼠标悬停在上下文菜单按钮上时图标的颜色。 |
IconSize |
可选。 以像素为单位的上下文菜单按钮上的图标大小。 |
FontSize |
可选。 以像素为单位的上下文菜单按钮上的文本大小。 |
FontColor |
可选。 上下文菜单按钮上的文本的颜色。 |
HoverFontColor |
可选。 将鼠标悬停在上下文菜单按钮上时文本的颜色。 |
FillColor |
可选。 上下文菜单按钮的背景颜色。 |
HoverFillColor |
可选。 将鼠标悬停在上下文菜单按钮上时显示的背景颜色。 |
TextAlignment |
按钮文本的对齐方式。 可能值:Center、Left 或 Right |
AccessibilityLabel |
屏幕阅读器 aria 标签 |
事件属性
属性 | 说明 |
---|---|
InputEvent |
要发送到控件的事件。 例如,SetFocus 。 请参阅以下内容。 |
行为
支持 SetFocus 作为 InputEvent
。
配置“选择时”行为
使用组件的 OnSelect
属性中的 Switch() 公式通过引用控件选择的作为切换值的 ItemKey
来配置每个项目的特定操作。
使用 Power Fx 语言的适当表达式替换 false
值。
Switch( Self.Selected.ItemKey,
/* Action for ItemKey 1 */
"File", false,
/* Action for ItemKey 2 */
"Delete", false,
/* Default action */
false
)
将焦点设置在控件上
当显示一个新对话,并且默认焦点应在控件上时,需要显式设置焦点。
要调用输入事件,您可以将绑定到 Input Event 属性的上下文变量设置为以 SetFocus
开头、后跟随机元素的字符串,以确保应用将其检测为更改。
例如,
UpdateContext({ctxResizableTextareaEvent:"SetFocus" & Text(Rand())}));
上下文变量 ctxResizableTextareaEvent
然后将被绑定到属性 Input Event
。
限制
此代码组件只能在画布应用和自定义页面中使用。