在最顶层窗口上启用上下文菜单
本文关键字:启用 上下文 菜单 窗口 | 更新日期: 2023-09-27 18:03:18
我有一个窗口与Topmost="True"
。
<Window ... bunch of code ....
Topmost="True" >
现在这样做可以有效地禁用表单上的所有上下文菜单。菜单在XAML中定义,如下所示:
<StackPanel Width="120" Height="50" MouseMove="Drag_MouseMove">
<Image Source="{Binding" />
<TextBlock Text={Binding}" />
<StackPanel.ContextMenu>
<ContextMenu Name="myMenu" StaysOpen="True">
... bunch of code ...
</ContextMenu>
</StackPanel.ContextMenu>
</StackPanel>
是否有重新启用上下文菜单的方法?我也愿意考虑Topmost="True"
的替代方案。
我无法重现您的问题。我已经创建了一个新的项目,使用这个近代码到你的和上下文菜单显示。
也许问题出在别的地方?比如绑定?(从经验讲)
<Window x:Class="WpfApplication8.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" Topmost="True">
<Grid>
<StackPanel Width="120" Height="50" Background="Gray">
<TextBlock Text="yo" />
<TextBlock Text="yo" />
<TextBlock Text="yo" />
<TextBlock Text="yo" />
<TextBlock Text="yo" />
<TextBlock Text="yo" />
<TextBlock Text="yo" />
<TextBlock Text="yo" />
<StackPanel.ContextMenu>
<ContextMenu Name="myMenu" StaysOpen="True">
<MenuItem Header="hello" />
</ContextMenu>
</StackPanel.ContextMenu>
</StackPanel>
</Grid>
</Window>
我怀疑菜单显示得很好。然而,菜单并不是最顶层的项目,所以它位于最顶层主窗口的后面。我有同样的问题,还没有找到答案,如何确保菜单总是显示