這真是奇怪的問題,我希望有人知道如何解決。 現狀:Windows 10上的ContextMenu和Popup WPF控件錯誤對齊
我們WPF項目對我們在一些用戶的操作響應顯示上下文菜單(ContextMenu控件)和彈出(彈出式菜單控件)的形式。在大多數情況下,它發生在鼠標點擊某個文本塊上。 下面是一個例子:
popup = new Popup { Placement = PlacementMode.Relative, PlacementTarget = textBlock, StaysOpen = false }; . . . . . //later on mouse click: popup.IsOpen = true;
彈出窗口必須出現對準其位置目標的左上角(在我們的例子一些文本塊)等 - 它交疊。除了具有平板模式的Windows 10機器(如MS Surface Pro)外,它在所有情況下都能正常工作。 在這種環境下,我們的彈出窗口顯示在展示位置的左側,因此 - 不會重疊。
當我們發現它發生,因爲在這篇文章中所描述的特殊的Windows 10選項: http://www.isunshare.com/windows-10/show-context-menu-on-left-or-right-in-windows-10.html
此選項設置爲「右撇子」在默認情況下(這是可以理解的),但我不不明白爲什麼它會以這種方式影響Popup控件,以及爲什麼它會在桌面模式下發生。
這將是巨大的,找到一個方法來更改此默認行爲,使我們的彈出排列出現在任何情況下父控件的左上角。 有人知道該怎麼做嗎?
看來這裏是一個類似的問題: http://stackoverflow.com/questions/18113597/wpf-handedness-with-popups – Sergiy