是否可以禁用功能区控件上的应用程序菜单? (WPF)

时间:2009-09-17 13:55:05

标签: c# wpf ribbon

有没有办法禁用应用程序菜单,左边的圆圈,所以用户无法点击它?

我对此毫无用处,也无法想到我可以使用的任何内容,我找不到任何禁用它的选项。

请帮忙

非常感谢

4 个答案:

答案 0 :(得分:28)

我做了类似的事情,并设法删除了应用程序菜单。请检查这是否是您想要的方式。

<r:Ribbon.ApplicationMenu>
    <r:RibbonApplicationMenu Visibility="Collapsed" >
    </r:RibbonApplicationMenu>
</r:Ribbon.ApplicationMenu>

答案 1 :(得分:3)

我认为这将违反使用功能区界面的Microsoft许可。

在此处查看:http://msdn.microsoft.com/en-us/office/aa973809.aspx(已死)

Archive from 2012-09-11

  

开发人员的Office UI许可

     

概述

     

Office UI许可计划专为软件开发人员设计   谁希望将Office UI实现为软件组件和/或   将Office UI合并到他们自己的应用程序中。

     

使用微软声称的知识产权的许可   当软件开发人员不使用Office UI时,需要Office UI   Microsoft提供的带有UI的UI实现   单独的许可证(目前是Microsoft Windows 7 API   实现或.NET中的Microsoft WPF实现   框架4)。

     

软件开发人员希望使用许可证时也需要许可证   Office 2010 UI的元素,这些元素不是由其他元素提供的   的实施方式。

     

如何在自己的软件中实现Office UI

     

目前,软件的方法主要有三种   开发人员在自己的应用程序中实现Office UI   成分

     
      
  • 使用Microsoft Windows 7 Scenic Ribbon实现

         

    有关Scenic Ribbon的详细信息,请访问MSDN Code Gallery。用于   Scenic Ribbon实施由Microsoft Windows管理   SDK EULA并不要求开发人员接受该条款   此站点上的Office UI许可证。

  •   
  • 使用Microsoft功能区实现WPF

         

    有关WPF实施的Microsoft功能区的详细信息(通过MS下载提供)   可以在MSDN Library中找到。使用Microsoft功能区进行WPF   由类似于.NET Framework的EULA管理。这个   发布不要求开发人员接受Office的条款   此站点上的UI许可证。

  •   
  • 使用Microsoft基础类(MFC)功能区,自行构建或使用第三方组件

         

    此类别中的所有选项   要求接受本网站上的Office UI许可条款。该   此类别的其他好处包括实施的能力   跨越更多平台,能够使用Office 2010的元素   未包含在其他实现中的UI,以及   能够使用可能具有其他好处的第三方组件   你作为开发者。

         

    如果您认为此类别合适,则应阅读材料   在此站点上,特别是Office UI许可证和Office UI   设计指南。您可以在Web上搜索组件供应商   搜索“Microsoft Ribbon组件供应商”等术语。

  •   

但我也没有任何用处,所以我只是把“退出”选项放在那里。


编辑:

如果仅在控件的实现中需要应用程序菜单,或者您是否必须在使用功能区的所有应用程序中使用它,那会令人困惑吗?

有些事情很清楚:你必须拥有一个“主页”选项卡,当应用程序启动时,它必须是选定的选项卡(就像在Office 2007中一样。)但是其他一些东西......有点像猜谜游戏。

我刚刚向Microsoft的Office UI小组发送了一封电子邮件,要求对此进行一些澄清。答案如下:看起来应用程序菜单不是可选的:

  

感谢您提交问题。设计指南的确如此   规定应用程序菜单是必需的,这是一个关键   功能区UI实现的元素。不同的控制集可以   允许隐藏或禁用UI元素,但是   期望你完成的应用程序仍然包含一个   应用程序菜单元素(您可以尝试自己实现它   窗框的一部分,或通过其他方式)。


编辑:许可证已停用:

https://law.stackexchange.com/questions/18329/what-is-the-status-of-microsoft-ribbon-licensing-as-of-2017

答案 2 :(得分:1)

在xaml文件中发布代码:

<Ribbon ApplicationMenu="{x:Null}">
       <TabControl></TabControl>
</Ribbon>

答案 3 :(得分:0)

this.ultraToolbarsManager1.Office2007UICompatibility = false;
this.ultraToolbarsManager1.Ribbon.FileMenuStyle = Infragistics.Win.UltraWinToolbars.FileMenuStyle.None;

试试这个。它只使用了Windows申请表