C# 如何防止上下文菜单位置的自动更正?

C# 如何防止上下文菜单位置的自动更正?,c#,wpf,contextmenu,C#,Wpf,Contextmenu,我手动设置关联菜单的位置: ContextMenu cm = new ContextMenu(); .... cm.Placement = PlacementMode.Absolute; cm.HorizontalOffset = xpos; cm.VerticalOffset = ypos; cm.IsOpen = true; 但当菜单离屏幕边缘太近时,位置会自动修正。 如何防止自动更正?出于安全原因,当弹出窗口(ContextMenu也是一个弹出窗口)遇到屏幕边缘时,我们无法更改其自动更正

我手动设置关联菜单的位置:

ContextMenu cm = new ContextMenu();
....
cm.Placement = PlacementMode.Absolute;
cm.HorizontalOffset = xpos;
cm.VerticalOffset = ypos;
cm.IsOpen = true;
但当菜单离屏幕边缘太近时,位置会自动修正。
如何防止自动更正?

出于安全原因,当弹出窗口(ContextMenu也是一个弹出窗口)遇到屏幕边缘时,我们无法更改其自动更正行为。查看以下链接中的“当弹出窗口遇到屏幕边缘时”主题


在不纠正位置的情况下对我有效,您如何获得绝对屏幕坐标下的XPO和YPO。例如,ypos=500,屏幕大小为1024*768-ypos是菜单的顶部位置。ypos=720菜单出现在这一点的上方我明白了,我误解了你们最初的问题。