标签: contextmenu

Style setter中的ContextMenu

有谁知道为什么会产生XamlParseException"无法将类型'System.Windows.Controls.ContextMenu'的内容添加到'System.Object'类型的对象中":

<ItemsControl>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas ClipToBounds="True"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemContainerStyle>
        <Style TargetType="ContentPresenter">
            <Setter Property="ContextMenu">
                <Setter.Value>
                    <ContextMenu>
                        <MenuItem Header="Remove" />
                    </ContextMenu>
                </Setter.Value>
            </Setter>
        </Style>
    </ItemsControl.ItemContainerStyle>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)

以下工作正常吗?

<ItemsControl>
    <ItemsControl.Resources>
        <ContextMenu x:Key="NodeContextMenu">
            <MenuItem Header="Remove" />
        </ContextMenu>
    </ItemsControl.Resources>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas ClipToBounds="True"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemContainerStyle>
        <Style TargetType="ContentPresenter">
            <Setter Property="ContextMenu" Value="{StaticResource NodeContextMenu}" />
        </Style>
    </ItemsControl.ItemContainerStyle>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)

wpf styles contextmenu

6
推荐指数
1
解决办法
2420
查看次数

Visual Studio AddIn:如何将项目特定命令添加到解决方案资源管理器上下文菜单

我花了大约3天试图让这个工作,但无济于事.

我是VS.NET可扩展性的新手,我发现很难调试我的问题.

我已经尝试过这里介绍的代码:Visual Studio加载项 - 向solution-explorer添加一个上下文菜单项

无法使它工作.调试它并没有抛出任何异常.另外,我宁愿使用AddIn而不是Package.

有谁知道:

  • 如何获取解决方案资源管理器中所有上下文菜单的列表?
  • 如何将自定义命令组添加到上下文菜单?
  • 如何将自定义命令添加到上下文菜单的一个自定义命令组?

提前致谢.

c# visual-studio-addins contextmenu visual-studio-2010 solution-explorer

6
推荐指数
1
解决办法
1096
查看次数

如何将上下文相关的菜单项(使用"右键单击")添加到mac OS X finder中的文件?

我需要在finder中为文件图标添加一个上下文相关的菜单.所以基本上如果我右键单击,例如"filename.txt"图标,子菜单应弹出"打开","获取信息"等,但应该有一个额外的项目,例如"我的程序".如果用户选择"我的程序"菜单选项,系统将执行:"my_program.rb filename.txt".

我有32位Mac OS 10.6.

我检查了堆栈溢出,我有发布的解决方案,但他们有点困惑.首先,根据这个堆栈溢出文章,你必须"添加一个启用共享工具的服务",但这对我来说很困惑.什么是"服务"?这是一个特殊挂钩操作系统的程序吗?

还有一篇关于"提供服务"的苹果文章,但我再次对此感到困惑.ruby脚本可以算作"服务"吗?或者我必须在目标C中做一些奇怪的Cocoa事情来访问子菜单然后再参考那里的脚本?

有更简单的方法吗?也许是一个我尚未遇到的开源程序?

macos cocoa finder contextmenu

6
推荐指数
1
解决办法
2469
查看次数

java中的Windows资源管理器上下文菜单

考虑简单的应用程序,即显示文件列表。我想显示上下文菜单,当用户单击文件或文件夹时,与用户在 Windows 资源管理器中单击鼠标右键(打开、重命名、编辑等)时相同。我不想创建自己的上下文菜单,我想显示 windows os 上下文菜单,可能使用某种 winapi。这应该只适用于 Windows 机器。

是否可以使用 Swing 或 SWT 或任何其他 UI 控件来实现它?

java winapi swing swt contextmenu

6
推荐指数
1
解决办法
1787
查看次数

如何从Cursor获取数据到ContextMenu

我想获取光标的当前记录,而不仅仅是ID,以便我可以操作上下文菜单.

我在这里看到这个示例,向您展示如何获取ID:

 @Override
  public boolean onContextItemSelected(MenuItem item) {
    switch (item.getItemId()) {
      case DELETE_ID:
        AdapterView.AdapterContextMenuInfo info=
          (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();

        delete(info.id);
        return(true);
    }

    return(super.onOptionsItemSelected(item));
  }
Run Code Online (Sandbox Code Playgroud)

这很棒,因为它允许我获取所单击的上下文菜单的相应SQLite数据库ID,这将允许我编写一个函数来进行查找.但我当然可以重用当前的光标吗?

我试过这样做:

Cursor c = (Cursor) this.getListAdapter().getItem((int) info.id);
String itemPriority = c.getInt(1);  
Log.v(TAG, "Current item:" + itemPriority);
Run Code Online (Sandbox Code Playgroud)

但是光标线似乎只返回数据库的模式而不是我之后的记录.

请有人请说清楚.

编辑:感谢@azgolfer我找到了解决方案.我使用fillData()方法来填充适配器.通常,这是在没有变量的情况下声明的.我不得不用一个字段变量重新定义这个方法.在onContextItemSelected中使curstor适配器可见的代码的相关部分在这里:

private void fillData() {
    Cursor itemsCursor = mDbHelper.fetchAllItemsFilter(mListId, mStatusFilter);
    startManagingCursor(itemsCursor);
    mItemAdaptor = new ItemAdapter(this, itemsCursor);
    this.setListAdapter(mItemAdaptor);      
}
Run Code Online (Sandbox Code Playgroud)

sqlite android contextmenu simplecursoradapter

6
推荐指数
1
解决办法
2665
查看次数

将复制和粘贴功能添加到webapp的自定义菜单中

我们正在开发一个包含文本编辑器的Web应用程序.它是用HTML5 + Javascript编写的.

我们已成功向我们的网络应用添加了自定义菜单,但我们尚未成功添加Google文档中的复制和粘贴功能.根据我们的理解,这可以使用可以访问OS剪贴板的Flash来实现.但是,我们希望避免使用该技术并使用替代方案 - 我认为Google也不会使用Flash.

有人能指出我们有效的替代方法吗?

谢谢.

javascript html5 contextmenu menu

6
推荐指数
1
解决办法
2417
查看次数

仅限ListViewItem的ContextMenu

我有一个上下文菜单 - 问题是我需要它只在单击listviewitem时打开.现在,如果我点击列表视图中的任何位置或标题中,它将打开.

<ListView> 
    <ListView.ContextMenu>
        <ContextMenu>
            <MenuItem Header="More Info" Command="{Binding MoreInfo}" />
        </ContextMenu>
     </ListView.ContextMenu>
     <ListView.View> 
         <GridView> 
           <!-- columns and stuff here -->
         </GridView>
     </ListView.View>
 </ListView>
Run Code Online (Sandbox Code Playgroud)

我已经尝试将ContextMenu添加为资源并将其应用为样式,但是这会破坏命令(单击"更多信息"应该打开一个对话框窗口,不会以这种方式工作)

<ListView.Resources>
    <ContextMenu x:Key="ItemContextMenu">
        <MenuItem Header="More Info" Command="{Binding MoreInfo}" Background="WhiteSmoke" />
    </ContextMenu>
</ListView.Resources>
<ListView.ItemContainerStyle>
    <Style TargetType="{x:Type ListViewItem}" >
        <Setter Property="ContextMenu" Value="{StaticResource ItemContextMenu}" />
    </Style>
</ListView.ItemContainerStyle>
Run Code Online (Sandbox Code Playgroud)

所以不确定如何将上下文菜单限制为listviewitem并使命令有效.

c# wpf contextmenu listviewitem

6
推荐指数
1
解决办法
1万
查看次数

单击其他地方时,Python3 Tkinter 弹出菜单不会自动关闭

我正在运行 Python 3.3.3(现在我在 Ubuntu 上,但我也在 Mac 和 Windows 上开发,我还没有测试过)。我有一个 Treeview 对象,它响应右键单击项目并根据您单击的内容显示上下文菜单......但我注意到,如果在原始菜单打开时右键单击其他地方,它只会打开另一个。

事实上,正常点击也不会隐藏它们。即使我关闭窗口,菜单仍然保持浮动。让它们消失的唯一方法是单击其中一个选项。

最终结果是这样的: 上下文菜单无处不在

我的菜单代码如下:

def rightclick_listitem(self, event):
    rowitem = self.sources.identify('item', event.x, event.y)

    if rowitem == '':
        print('Right clicked an empty space.')
        return
    # user right clicked something.
    self.sources.selection_set(rowitem)
    rcmenu = Menu(self.root, tearoff=0)
    plugin_disabled=self.sources.item(rowitem, 'values')[0] == 'Disabled'
    if plugin_disabled:
        rcmenu.add_command(label='Plugin is disabled...',
                           command=self.plugin_disabled_click)
    rcmenu.add_command(label='Plugin options',state='disabled' if plugin_disabled else 'active')
    rcmenu.add_command(label='Uninstall plugin')
    rcmenu.post(event.x_root, event.y_root)
Run Code Online (Sandbox Code Playgroud)

调用此代码的代码位于此处:

    #RIGHTMOUSE is a variable that changes based on OS due to the way Mac OSX works
    #sources …
Run Code Online (Sandbox Code Playgroud)

python contextmenu tkinter

6
推荐指数
1
解决办法
2185
查看次数

jQuery ContextMenu事件在IOS 8.2中不起作用

我在.html示例中使用了contextMenu事件,当我长按DIV时它会被触发,但是现在它无法正常工作.在最新的IOS 8.2版本中有什么问题.这是示例代码,

<head>
    <title></title>
    <script src="Scripts/jquery-1.9.1.min.js"></script>
    <script type="text/javascript">

        $(document).ready(function () {
            $("#content").on("contextmenu", function () {
                alert("CM");
            });
        });
    </script>
</head>

<body>
    <div id="content" style="height:300px; width:300px; background-color:gray;"></div>
</body>
Run Code Online (Sandbox Code Playgroud)

这是工作样本

http://jsfiddle.net/4zu1ckgg/

请有人帮我这个.

javascript jquery contextmenu ios

6
推荐指数
1
解决办法
2186
查看次数

如何设置图像上下文菜单项的图标

当我单击图像时,它显示了菜单,但未显示图标。我尝试了两种方式:

  1. 一是我调整了不起作用的图标的大小
  2. 第二个是我使用不起作用的图标属性设置路径。

为上下文菜单项设置图标的方法是什么?

Xml:

<Image Height="20" Width="20" Source="/CitiCall.WinClient;component/Images/user_icon.png" MouseDown="image1_MouseDown"  Margin="0,0,4,6" HorizontalAlignment="Right"  Name="image1" Stretch="Fill" VerticalAlignment="Top">               
    <Image.ContextMenu>
        <ContextMenu>
            <MenuItem Header="Reset password" Icon="/CitiCall.WinClient;component/Images/reset.png"/>
                <!--<MenuItem.Icon>
                    <Image Source="/CitiCall.WinClient;component/Images/reset.png" ></Image>
                </MenuItem.Icon>
            </MenuItem>-->
            <MenuItem Header="Edit Profile"/>
            <MenuItem Header="Settings"/>
            <MenuItem Header="About us"/>
        </ContextMenu>
    </Image.ContextMenu>
</Image>
Run Code Online (Sandbox Code Playgroud)

Xamal.cs:

private void image1_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    if (e.ChangedButton == MouseButton.Left)
    {
        Image image = sender as Image;
        ContextMenu contextMenu = image.ContextMenu;                
        contextMenu.PlacementTarget = image;
        contextMenu.IsOpen = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# wpf xaml contextmenu

6
推荐指数
1
解决办法
9447
查看次数