我有一個場景,其中有一個GroupBox
其中有一點內容。我想添加一個ContextMenu
到GroupBox
,並在用戶右鍵單擊框中的任何位置時顯示該菜單。WPF GroupBox ContextMenu不會顯示,除非邊框/標題點擊
我遇到的問題是僅當點擊邊框或GroupBox
的標題時纔會出現上下文菜單。如果你點擊框內的某個地方,父母的ContextMenu
就是顯示內容。
下面是一些XAML演示該問題:
<Window x:Class="Dummy.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Window.ContextMenu>
<ContextMenu>
<MenuItem Header="Window menu" />
</ContextMenu>
</Window.ContextMenu>
<GroupBox Header="GroupBox">
<GroupBox.ContextMenu>
<ContextMenu>
<MenuItem Header="GroupBox menu" />
</ContextMenu>
</GroupBox.ContextMenu>
</GroupBox>
</Window>
所以,當你點擊GroupBox
裏,你總能得到「窗口菜單」來了,但我希望「菜單組」代替。
有誰知道爲什麼會發生這種情況,並可能如何解決它?
非常感謝。
OJ
謝謝查理。你說的是有道理的。有趣的是,在我的實際代碼中(不是上面的模糊例子),我確實有內容,但是這些內容並非如上所示的簡單標籤。這些東西是否只與某些類型的內容配合使用?我有一個DockPanel填充整個組框,但這似乎沒有幫助。也許我會在那裏拋出一個邊界,看看結果如何。 感謝您的建議。 – 2009-08-12 00:51:25
再次嗨。因此,似乎只有某些類型的內容實際上使此功能起作用。像dockpanels和邊界的東西根本就不工作。因此,我按照您的建議將整個內容包裝在標籤中,並解決了問題。我不喜歡它,但它的作品:)非常感謝。 – 2009-08-12 00:55:23
包裝標籤中的所有內容並將'HorizontalAlignment =「Stretch」VerticalAlignment =「Stretch」'分配給'容器'標籤對我來說是有效的。謝謝! – corentinaltepe 2017-04-12 08:51:15