我试图把我的ContextMenu放在我的UserControl下面,但没有成功:
但是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;
}我有和这篇文章一样的问题:How can I tell a ContextMenu to place itself relatively to its control and not the cursor?
我如何才能告诉我的ContextMenu把自己置于我的控制之下?
谢谢
发布于 2013-09-30 03:38:22
尝试以下操作,而不是在按钮上设置ContextMenuService.Placement,将配置设置在contextmenu上,如
sousMenuManager.Placement = PlacementMode.Bottom;在mousedown处理程序中,将上下文菜单的placementtarget设置为您的grid_manager
sousMenuManager.PlacementTarget = grid_manager;
sousMenuManager.IsOpen = true;https://stackoverflow.com/questions/19084557
复制相似问题