Ami*_*gar 7 c# windows wpf winapi contextmenu
每当您右键单击浏览器(或任何其他应用程序)的边缘时,上下文菜单将溢出窗口,但不会溢出屏幕.
我希望上下文菜单始终位于窗口边界,所以当我点击底边附近时,它应该显示顶部的菜单.假设窗口的尺寸总是大于上下文菜单.
这可能吗?如果没有,有任何解决方法吗?
PS我没有构建应用程序窗口,只是应用程序的查看器.

Gor*_*rue -1
使用ContextMenu 的Placement和属性。PlacementRectangle
在下面的示例中,我将 Placement 属性设置为“Relative”,将 Rectangle 设置为 x,y 坐标 25, 25。然后,无论我单击何处,上下文菜单都会出现在相对于 Button 的 25、25 处。
<Button ContextMenuService.Placement="Relative" ContextMenuService.PlacementRectangle="25, 25, 0, 0">
<Button.ContextMenu>
<ContextMenu>
<MenuItem Header="Do this" />
<MenuItem Header="Do that" />
</ContextMenu>
</Button.ContextMenu>
</Button>
Run Code Online (Sandbox Code Playgroud)
当然,您可以根据菜单的大小及其与边缘的接近程度,对这些属性使用哪些值进行更动态的计算。
| 归档时间: |
|
| 查看次数: |
581 次 |
| 最近记录: |