我能夠使用Window Handler等添加一個項目,但我也想刪除已經存在的項目(我們的主應用程序內部的窗口工具窗口,我們不想要那裏的所有選項)。在下面的屏幕截圖中,顯示了我添加的和我想要刪除的(幾乎所有這些)。讓我知道是否有辦法做到這一點。WPF從TitleBar上下文菜單中刪除MenuItems
編輯:
或者更好的是,如何把我自己的上下文菜單XAML(如果可能)。但我不想失去標題欄或航空效果。
謝謝!
我能夠使用Window Handler等添加一個項目,但我也想刪除已經存在的項目(我們的主應用程序內部的窗口工具窗口,我們不想要那裏的所有選項)。在下面的屏幕截圖中,顯示了我添加的和我想要刪除的(幾乎所有這些)。讓我知道是否有辦法做到這一點。WPF從TitleBar上下文菜單中刪除MenuItems
編輯:
或者更好的是,如何把我自己的上下文菜單XAML(如果可能)。但我不想失去標題欄或航空效果。
謝謝!
可以在WPF
創建自己的ContextMenus<Grid>
<Grid.ContextMenu>
<ContextMenu>
<MenuItem Header="Dock" Command="{Binding ...}" />
</ContextMenu>
</Grid.ContextMenu>
</Grid>
只是要小心的綁定,因爲WPF ContextMenus是不一樣的視覺樹爲您的控件的其餘部分的一部分,所以綁定不按預期工作。您可能需要綁定到PlacementTarget
的相關源才能獲得您的命令。
嗨Rachel。感謝您的建議。我已經知道如何做到這一點。問題是我需要在標題欄中進行操作,這使得它更加棘手。如果我按照您的建議進行操作,上下文菜單將位於窗口內,但我不需要它。謝謝=)。 – Carlo
我知道這個答案與你所問的略有不同,但它可能有幫助。您想要修改窗口標題欄中的內置菜單......但是如果您使用自定義鑲邊覆蓋了該菜單(如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
我希望做同樣的事情。所以,如果您有解決方案,我很樂意聽到您的解決方案。 – bsh152s
@ bsh152s對不起,沒有找到辦法,我們仍然有所有這些菜單項。 – Carlo