ContextMenu 控制

用于输入命令的控件。

备注

GitHub 代码组件存储库中的完整文档和源代码。

ContextMenu 控件。

说明

上下文菜单 (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

限制

此代码组件只能在画布应用和自定义页面中使用。