|
轉載
2015年06月22日 21:36:54
在目前的WPF版本中,很多的控件都有一個ContextMenu的屬性,可以設置組件的右鍵菜單,這點確實是很方便,但是有些時候我們可能會需要當單擊鼠標左鍵才彈出這個ContextMenu,而不是單擊鼠標右鍵(即:當單擊鼠標右鍵的時候不彈出該ContextMenu),這樣我們就能很方便的實現(xiàn)類似Flex中設置彈出式菜單的效果... 首先: 然后,設
在目前的WPF版本中,很多的控件都有一個ContextMenu的屬性,可以設置組件的右鍵菜單,這點確實是很方便,但是有些時候我們可能會需要當單擊鼠標左鍵才彈出這個ContextMenu,而不是單擊鼠標右鍵(即:當單擊鼠標右鍵的時候不彈出該ContextMenu),這樣我們就能很方便的實現(xiàn)類似Flex中設置彈出式菜單的效果... 首先: 然后,設置一下: 1 <Button Name="btnMenu" Width="50" Height="25" Content="菜單" Initialized="btnMenu_Initialized"> 2 <Button.ContextMenu> 3 <ContextMenu Name="contextMenu"> 4 <MenuItem Header="復制"/> 5 <MenuItem Header="粘貼"/> 6 <MenuItem Header="剪切"/> 7 <MenuItem Header="刪除"/> 8 </ContextMenu> 9 </Button.ContextMenu> 10 </Button> 看Initialized="btnMenu_Initialized"的實現(xiàn): 1 private void btnMenu_Initialized(object sender, EventArgs e) 2 { 3 //設置右鍵菜單為null 4 this.btnMenu.ContextMenu = null; 5 } 接著,設置單擊鼠標左鍵彈出菜單: 1 private void btnMenu_Click(object sender, RoutedEventArgs e) 2 { 3 //目標 4 this.contextMenu.PlacementTarget = this.btnMenu; 5 //位置 6 this.contextMenu.Placement = PlacementMode.Top; 7 //顯示菜單 8 this.contextMenu.IsOpen = true; 9 } 本文來自Lyghost的博客,原文地址:http://www.cnblogs.com/lyghost/archive/2012/11/02/275158 |
|
|