【问题标题】:WPF XAML How to disable a context menu?WPF XAML 如何禁用上下文菜单?
【发布时间】:2012-05-21 17:05:50
【问题描述】:

我正在使用 Infragistics 数据呈现器,当用户右键单击任何未绑定字段中的文本时,它显然会自动包含上下文菜单。我只是想为所有未绑定的字段禁用此上下文菜单。如何?注意:我确实为 datapresenter 设置了我自己的上下文菜单设置,在单击记录时它仍然应该起作用,但是在单击单个文本字段时它不会像“自动上下文菜单”那样出现。因为我没有创建它,所以我不能将其设为空,但是使用 {x:Null} 的无键样式也不起作用,它会给出错误。

我在此处添加了示例项目的链接:(请注意,在此示例中,我尝试在没有菜单项的上下文菜单中进行子菜单,然后它只有上下文菜单的“条子”-我不知道如何将 zip 文件发布到 stackoverflow

example with Auto context menu subbed by blank context menu-comment out xaml context menu to see my problem)

【问题讨论】:

  • 请发布一个小而完整的测试项目来展示这一点。只是不要包括 Infragistics 程序集,我们中的一些人可能已经拥有它们。

标签: wpf xaml contextmenu hide


【解决方案1】:

我在 Infragistics 的网站上看到了您的帖子,但他们没有给您答复。看来它并不特别支持您要执行的操作。这可能是一个足够的解决方法:

<Grid.Resources>
  <ContextMenu x:Key="cm">
    <MenuItem Header="test menu 1"/>
    <MenuItem Header="test menu 2"/>
  </ContextMenu>
  <Style TargetType="{x:Type igDP:DataRecordCellArea}">
    <Setter Property="ContextMenu" Value="{StaticResource cm}"/>
  </Style>
  <Style TargetType="{x:Type igEditors:XamTextEditor}">
    <Setter Property="ContextMenu" Value="{StaticResource cm}"/>
  </Style>
</Grid.Resources>

【讨论】:

  • 谢谢,我终于想出了与触发条件类似的东西,仅当文本为 isInEditMode 时才生成此自定义上下文菜单!
猜你喜欢
  • 2011-03-18
  • 1970-01-01
  • 2014-10-27
  • 1970-01-01
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多