簡體   English   中英

ContextMenu放置

[英]ContextMenu Placement

我試圖將ContextMenu放在UserControl下方,但未成功:

  • 我創建了一個用戶控件“ Bouton_Accueil”
  • 在我的代碼中,我創建了一個ContextMenu
  • 我在Bouton_Accueil中添加了MouseDown事件
  • 在MouseDown中,我輸入了“ contextMenu.IsOpen = true”

但是contextMenu始終顯示在鼠標光標附近,而不在我的控制下。

這是我的代碼:

主頁 :

<pm:Bouton_Accueil  x:Name="grid_manager" ContextMenuService.Placement="Bottom"   Margin="0,0,0,0" Grid.Column="0">

        </pm:Bouton_Accueil>

在我的代碼中:

ContextMenu sousMenuManager = new System.Windows.Controls.ContextMenu();
            sousMenuManager.Style = (Style)FindResource("StyleContext");
            sousMenuManager.Width = 133;
            this.grid_manager.ContextMenu = sousMenuManager;
            ContextMenuService.SetPlacement(this.grid_manager, System.Windows.Controls.Primitives.PlacementMode.Bottom);

public void MouseDown(object sender, RoutedEventArgs e)
        {
                sousMenuManager.IsOpen = true;
        }

我和這篇文章有同樣的問題: 如何告訴ContextMenu相對於控件而不是光標放置自己?

我怎樣才能告訴ContextMenu將自己置於控件之下?

謝謝

試試這個,代替ContextMenuService.Placement on button,在contextmenu本身上設置Placement就像

         sousMenuManager.Placement = PlacementMode.Bottom;

並在mousedown處理程序中將上下文菜單的放置目標設置為grid_manager

        sousMenuManager.PlacementTarget = grid_manager;
        sousMenuManager.IsOpen = true;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM