2011-10-26 29 views
0

我能夠使用Window Handler等添加一個項目,但我也想刪除已經存在的項目(我們的主應用程序內部的窗口工具窗口,我們不想要那裏的所有選項)。在下面的屏幕截圖中,顯示了我添加的和我想要刪除的(幾乎所有這些)。讓我知道是否有辦法做到這一點。WPF從TitleBar上下文菜單中刪除MenuItems

編輯:

或者更好的是,如何把我自己的上下文菜單XAML(如果可能)。但我不想失去標題欄或航空效果。

謝謝!

enter image description here

+0

我希望做同樣的事情。所以,如果您有解決方案,我很樂意聽到您的解決方案。 – bsh152s

+0

@ bsh152s對不起,沒有找到辦法,我們仍然有所有這些菜單項。 – Carlo

回答

0

可以在WPF

創建自己的ContextMenus
<Grid> 
    <Grid.ContextMenu> 
     <ContextMenu> 
      <MenuItem Header="Dock" Command="{Binding ...}" /> 
     </ContextMenu> 
    </Grid.ContextMenu> 

</Grid> 

只是要小心的綁定,因爲WPF ContextMenus是不一樣的視覺樹爲您的控件的其餘部分的一部分,所以綁定不按預期工作。您可能需要綁定到PlacementTarget的相關源才能獲得您的命令。

+0

嗨Rachel。感謝您的建議。我已經知道如何做到這一點。問題是我需要在標題欄中進行操作,這使得它更加棘手。如果我按照您的建議進行操作,上下文菜單將位於窗口內,但我不需要它。謝謝=)。 – Carlo

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

相關問題