WPF从TitleBar上下文菜单中删除MenuItems

时间:2011-10-26 01:39:12

标签: wpf

我能够使用Window Handler等添加一个项目,但我也想删除已经存在的项目(我们的主应用程序内部的窗口工具窗口,我们不希望那里有所有这些选项)。在下面的屏幕截图中,它显示了我添加的那个以及我要删除的那个(几乎所有这些)。如果有办法,请告诉我。

编辑:

或者更好的是,如何使用XAML放置我自己的上下文菜单(如果可能)。但我不想失去标题栏或空气动力效应。

谢谢!

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以在WPF中创建自己的ContextMenus

<Grid>
    <Grid.ContextMenu>
        <ContextMenu>
            <MenuItem Header="Dock" Command="{Binding ...}" />
        </ContextMenu>
    </Grid.ContextMenu>

</Grid>

请注意绑定,因为WPF ContextMenus不是与其他控件相同的Visual Tree的一部分,因此绑定不能按预期工作。您可能需要绑定到PlacementTarget的相对源来获取命令。

答案 1 :(得分:0)

我知道这个答案与你提出的问题略有不同,但它可能有所帮助。您想要从窗口标题栏修改内置菜单...但如果您使用自定义镶边覆盖该菜单(如mozilla firefox / MS Office如何),该怎么办?

要执行此操作,请从http://archive.msdn.microsoft.com/WPFShell下载WPF Shell集成库并使用它。该库还包括一些其他很酷的功能,如跳转列表。

有关此技术的更多文档位于http://blogs.msdn.com/b/wpfsdk/archive/2008/09/08/custom-window-chrome-in-wpf.aspx

相关问题