有谁知道我如何确定 contextMenu 由于太靠近屏幕边缘而自动调整其位置?
我的场景是我有一个 contextMenu,它有 2 个圆角和 2 个方角。当菜单向下打开时,我将底部 2...它的方向自动改变。
这是一些简化的示例代码供您试用。如果您在窗口位于屏幕顶部时单击,则菜单会下降。如果您将窗口移动到屏幕底部,则菜单将向上。
<Window x:Class="menuRedirection.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="100" Width="200">
<DockPanel Name="panel" ContextMenuOpening="DockPanel_ContextMenuOpening">
<DockPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="item"/>
<MenuItem Header="item"/>
<MenuItem Header="item"/>
<MenuItem Header="item"/>
</ContextMenu>
</DockPanel.ContextMenu>
<Rectangle DockPanel.Dock="Bottom" Name="menuTarget" Fill="Red" Height="10"/>
<TextBlock DockPanel.Dock="Top" Text="right click for context menu"/>
</DockPanel>
</Window>
private void DockPanel_ContextMenuOpening(object sender, ContextMenuEventArgs e)
{
ContextMenuService.SetPlacement(panel, PlacementMode.Bottom);
ContextMenuService.SetPlacementTarget(panel, menuTarget);
}
这是实际应用程序的样子,因此您可以看到我需要知道调整圆角的问题。