本当に奇妙な問題です。私は誰かが解決する方法を知っていることを願っています。 状況:Windows 10でのContextMenuとPopup WPFコントロールのアライメントが正しくありません
当社のWPFプロジェクトは、我々はいくつかのユーザーのアクションに応じて、コンテキストメニュー(ContextMenuコントロール)とポップアップ(ポップアップコントロール)を表示するフォームを持っています。ほとんどの場合、テキストブロック上でマウスをクリックすると発生します。ここで は一例である: - それをオーバーラップ
popup = new Popup { Placement = PlacementMode.Relative, PlacementTarget = textBlock, StaysOpen = false }; . . . . . //later on mouse click: popup.IsOpen = true;
ポップアップがその配置のターゲット(この例では、いくつかのテキストブロック)の左上隅に整列し、そう表示される必要があります。それは、タブレットモード(MS Surface Proなど)を持つWindows 10マシンを除くすべてのケースでうまく機能します。 このような環境では、ポップアップはプレースメントターゲットの左側に表示されるため、重複しません。
我々はこの資料に記載されている特別な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