我对Xaml很新,需要一些建议.
TreeView应绑定到分层对象结构.TreeView应该有一个上下文菜单,该菜单特定于每个对象类型.
我尝试过以下方法:
<TreeView>
<TreeView.Resources>
<DataTemplate x:Key="RoomTemplate">
<TreeViewItem Header="{Binding Name}">
<TreeViewItem.ContextMenu>
<ContextMenu>
<MenuItem Header="Open" />
<MenuItem Header="Remove" />
</ContextMenu>
</TreeViewItem.ContextMenu>
</TreeViewItem>
</DataTemplate>
</TreeView.Resources>
<TreeViewItem Header="{Binding Name}" Name="tviRoot" IsExpanded="True" >
<TreeViewItem Header="Rooms"
ItemsSource="{Binding Rooms}"
ItemTemplate="{StaticResource RoomTemplate}">
<TreeViewItem.ContextMenu>
<ContextMenu>
<MenuItem Header="Add room"></MenuItem>
</ContextMenu>
</TreeViewItem.ContextMenu>
</TreeViewItem>
</TreeViewItem>
Run Code Online (Sandbox Code Playgroud)
但是使用此标记时,行为符合预期,但子项(房间)缩进太多.
无论如何,我能找到的所有结果样本都在DataTemplate中使用TextBlock而不是TreeViewItem,但是想知道如何在那里集成ContextMenu.
我有一个程序,当使用资源管理器中的右键菜单打开文件时.但是,如果我选择多个文件,然后右键单击并打开我的程序,那么它会打开我的程序的多个实例,而不是仅将多个文件作为参数传递给单个实例.该程序是用vb.net编写的,但不是windows窗体,它只是一个模块,所以我可以勾选Visual Studio中属性中的Single实例选项.
那么如何在单个实例中从资源管理器上下文菜单中打开多个文件.
如何基于值设置和获取上下文菜单条中项目的文本和/或背景的颜色值?
这段代码是正确的吗?
ContextMenuStrip1.Items.Add("this is an item").BackColor = Color.FromArgb(255, 179, 179);
Run Code Online (Sandbox Code Playgroud)
但我找不到获得颜色值的方法!
我这样做了:
int i = ContextMenuStrip1.Items.IndexOfKey("this is an item");
Color c = ContextMenuStrip1.Items[i].BackColor; // I get error in here!
Run Code Online (Sandbox Code Playgroud)
但它不起作用!!!!
还有如何根据项目字符串值获取或/和设置其他属性(例如"这是一个项目")?
干杯
在办公室的机器中,我的Visual Studio 2010具有上下文菜单,用于从网格插入/删除row/colunm,与手动插入相比非常方便 - 需要更新每个当前行/列索引.
但在家里,我的IDE没有这个菜单.我不知道如何有这个上下文菜单Grid Row
和Grid Column
.
请帮忙.
在家更新我的VS版本
我的VS版在办公室
右键单击WebBrowser控件时,将出现标准IE上下文菜单,其中包含"后退","查看源"等选项.
如何显示我自己的ContextMenuStrip呢?WebBrowser.ContextMenuStrip不适用于此Control.
我使用contextMenu1
和一个notifyIcon1
应用程序.当应用程序进入Tray Icon
并且我将按下时Right Click
,将出现一个菜单.
代码就是这个(我只添加了2个项目进行测试):
contextMenu1.MenuItems.Add("View");
contextMenu1.MenuItems.Add("Exit");
notifyIcon1.ContextMenu = contextMenu1;
Run Code Online (Sandbox Code Playgroud)
在这一刻,在菜单中我只看到了没有做的东西.
我怎么能增加一个功能,喜欢private void exit()
的contextMenu1.MenuItems.Add("Exit")
.当我预定该Exit
项目时,关闭我的应用程序(示例).
我有一个TreeView
项目,我想要ContextMenu
只弹出第二层项目.我该怎么做呢?
我有一个上下文菜单,其中包含OneTime,单向绑定和第二个非OneTime双向绑定到同一属性.目标是使用颜色编辑器显示初始颜色值,并允许用户更改所选值,同时仍能将其与原始颜色进行比较.
这在第一次打开上下文菜单时效果很好,但是每次打开菜单(缓存?)时菜单似乎都没有完全重新创建.相反,它"记住"原始绑定值,而不是从源执行另一个OneTime绑定以获取新的"初始"值.
有没有办法强制上下文菜单在每次打开时完全重新创建其内容?
我正在寻找有关如何在ListView项目的工具栏中实现上下文菜单的帮助,如WhatsApp所做的那样.到目前为止我发现的唯一教程是关于弹出的对话框,这不是我想要的.有人可以帮助我或提供教程链接吗?谢谢 :)
我正在尝试创建一个基本的chrome扩展.在发现根上下文菜单每个插件只能包含一个项目之后,我想至少能够为父项命名除了我的插件名称之外的其他内容:
chrome.contextMenus.create({
title: "Child Item 1",
contexts:["selection"],
});
chrome.contextMenus.create({
title: "Child Item 2",
contexts:["selection"],
});
Run Code Online (Sandbox Code Playgroud)
那我该怎么做?