问题标签 [menuitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
388 浏览

objective-c - 单击时如何使状态项显示或隐藏窗口?

当在菜单栏中单击实际按钮而不是在下拉菜单中显示或隐藏窗口时,如何制作状态项?对不起,如果这有点模糊。

0 投票
1 回答
7620 浏览

wpf - WPF ContextMenu 样式结构

我想重新设置 a 的样式ContextMenu,但我有一个关于如何构建我的 Xaml 的问题。

在我的应用程序资源中,我有这样的东西:

这似乎工作正常,具有样式的上下文菜单ContextMenuTemplate具有样式菜单项,而其他上下文菜单不受影响,无需在任何MenuItems.

但是,我不喜欢那个ControlTemplate.Resources部分。例如,我宁愿在x:Key="RadialContextMenu"样式中使用它,以便两个控件模板都是“干净的”。

如何将 Style 元素移出第二个ControlTemplate

0 投票
4 回答
9775 浏览

c# - C#:当链接到两个不同的对象时,如何检测谁是上下文菜单的菜单项的调用者?

C#:当链接到两个不同的对象时,如何检测谁是上下文菜单的菜单项的调用者?

我有两个标签,lblOn 和 lblOff。我将“一个”上下文菜单链接到两个标签以放弃必须制作两个相同的标签。

我将如何找出名为 contextmenu.menuitem 的标签对象?这样点击的 menuitem 就知道它的 contextmenu 是由 lblOn 标签还是 lblOffline 调用的?

0 投票
2 回答
1699 浏览

c# - 将 TabControl.Items 绑定到 MenuItem

我在应用程序中使用 TabControl 作为我的主要工作区,并且我想添加一个“窗口”菜单项,其中列出了打开的选项卡的标题。应该选中活动的(即聚焦的)选项卡。

我尝试使用 ItemsTemplate 如下:

然后,每个 MenuItem 都“嵌套”在另一个 MenuItem 内,这实际上不是预期的结果(复选框位于标题区域,内部项目周围有一个单独的边框)。

有一个更好的方法吗?

提前致谢。

0 投票
1 回答
5305 浏览

wpf - 如何让菜单在 WPF 中打开到左侧?

我在 WPF 中有一个菜单(带有 menuitems)。不幸的是,当我单击菜单标题时,它会打开右侧的菜单。问题是右边有一些我不希望它重叠的东西。如何告诉 WPF 打开左侧的菜单?我需要做一个控制模板吗?(对于这种基本的样式更改,控件模板似乎过于笨拙)。

谢谢!

KSG

0 投票
1 回答
7517 浏览

wpf - 将 ContextMenu 的 MenuItem 可见性绑定到 ListView 选择

我有一个带有 ListView 的用户控件,其中包含来自 ObservableCollection 的简单项目。我希望该 ListView 的 ContextMenu 包含项目,具体取决于在 ListView 中选择的内容。如果未选择任何项目,则某些 MenuItems 不应可见。

当我打开 ContextMenu 时,甚至没有调用我的转换器。绑定似乎是错误的,我在输出窗口中找到了这个:

System.Windows.Data 错误:4:找不到与引用“ElementName = listView”绑定的源。绑定表达式:路径=选定项;数据项=空;目标元素是'MenuItem'(名称='');目标属性是“可见性”(类型“可见性”)

我不明白出了什么问题,也无法通过搜索网络来弄清楚。

这是一些简化的代码:

非常感谢!

0 投票
1 回答
1540 浏览

wpf - 如何隐藏 XAML 菜单中菜单项左侧的空间?

有没有办法可以抑制 MenuItem 文本左侧的空间?

替代文字 http://tanguay.info/web/external/extraSpaceMenus.png

类似LeftAreaVisible="Collapsed"下面的(伪代码):

0 投票
4 回答
19270 浏览

wpf - 如何将 ViewModel 的 ObservableCollection 绑定到 MenuItem?

当我将菜单项与 ObservableCollection 绑定时,只有 MenuItem 的“内部”区域是可点击的:

替代文字 http://tanguay.info/web/external/mvvmMenuItems.png

在我看来我有这个菜单:

然后我将它与这个DataTemplate绑定:

由于 ObservableCollection ManageMenuPageItemViewModels中的每个 ViewModel都有一个属性TitleIdCode,所以上面的代码乍一看可以正常工作。

但是,问题是 DataTemplate 中的MenuItem实际上另一个 MenuItem 内(好像它被绑定了两次),因此在上面的 DataTemplate 中,Background="Red"每个菜单项内都有一个红色框,只有这个区域可以单击,而不是整个菜单项区域本身(例如,如果用户单击复选标记所在的区域或内部可单击区域的右侧或左侧,则不会发生任何事情,如果您没有单独的颜色很混乱。)

将 MenuItems 绑定到 ViewModel 的 ObservableCollection 以使每个 MenuItem 内的整个区域都可点击的正确方法是什么?

更新:

因此,我根据以下建议进行了以下更改,现在有了:

替代文字 http://tanguay.info/web/external/mvvmMenuItemsYellow.png

我的 DataTemplate 中只有一个 TextBlock,但我仍然不能“为整个 MenuItem 着色”,只能为 TextBlock:

我将 Command 绑定放入 Menu.ItemContainerStyle 但它们现在不触发:

0 投票
3 回答
2166 浏览

wpf - WPF - 如何在菜单处理程序方法中找到单击的项目?

WPF 菜单项的处理程序方法如何确定单击了 ListView 中的哪个项目?

编辑: 菜单是为 ListView 设置的上下文菜单。问题是在选择上下文菜单项时查找单击了哪个 ListView 项。

0 投票
3 回答
2507 浏览

wpf - WPF MVVM:找出单击了哪个标题上下文菜单

我正在尝试使用 MVVM 模式来编写 WPF 应用程序。我正在使用缺少自动过滤功能的 WPF 数据网格(来自工具包)。所以我想实现它。我在列标题模板中添加了一个上下文菜单,它有一个名为“Filter”的 MenuItem,它实际上应该调用过滤方法。

因此,我将 MenuItem 的命令设置为适合 ViewModel 的 DelegateCommand。问题是我需要传递有关已右键单击的实际列的信息!如果我没有使用 MVVM,我会实现一个事件处理程序,它会接收一个“发送者”参数(MenuItem),然后我会找到它的父级(ContextMenu),然后它的父级会给我列。但是我怎样才能在这里实现同样的目标呢?如何将发件人传递给我的命令?这可以使用命令参数来完成吗?

我真的不想使用额外的复杂模式来完成这样一个简单的任务。毕竟,MVVM 应该简化开发,而不是相反......