WPF左键点按钮弹出菜单如何实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF左键点按钮弹出菜单如何实现相关的知识,希望对你有一定的参考价值。

已经给Button加了一个ContextMenu
点右键就可以弹出来了
但是现在希望是左键点的时候也能弹出来,如何实现

参考技术A XAML:

<Grid>
<Button x:Name="cmd" Width="90" Height="25" Content="Popup">
<Button.ContextMenu>
<ContextMenu x:Name="menu">
<MenuItem Header="MenuItem-0">
<MenuItem Header="MenuItem-0-0"/>
<MenuItem Header="MenuItem-0-1"/>
<MenuItem Header="MenuItem-0-2"/>
</MenuItem>
<MenuItem Header="MenuItem-1"/>
</ContextMenu>
</Button.ContextMenu>
</Button>
</Grid>
Code:
// 写在 Window_Loaded 事件中看效果
cmd.Click += (obj, args) => menu.IsOpen = true; ;本回答被提问者采纳
参考技术B Use Icommand, then btn command binding --> Icommand , get...relaycommand(p->show())

... show()

popup ContextMenu block

wpf实现QQ表情弹出框效果

用wpf实现类似QQ表情弹出框效果

顺便实现一下右键菜单。最好有实例,谢谢

参考技术A 这不就是个scrollview里放一个listbox么。设置listbox的ItemsPanel为wrappanel。右键菜单的话用contextMenu。追问

然后呢?怎么激活?怎么显示、主要是要溢出界面这种效果好么

追答

什么激活啊?图片都放到一个集合里绑定到listbox的itemSource里啊。溢出界面是什么?

追问

就像上图,超出窗体后依然可以显示,这才是难点啊

追答

= =完全不觉得是难点。。。你里面的listbox的长度大于scrollview的长度,不就自动出现滚动条了么。

追问

不是滚动条,是超过窗体界面外面的部分依然可以显示,是超出窗体界面好么,

追答

popup用过没?Try it.

以上是关于WPF左键点按钮弹出菜单如何实现的主要内容,如果未能解决你的问题,请参考以下文章

WPF 左键单击弹出菜单 ContextMenu

WPF 托盘图标右键弹出的ContextMenu如何关闭

WPF如何实现DataGrid的右键出现选项菜单的功能

wpf实现QQ表情弹出框效果

VS里用C#如何实现点击一个按钮立即弹出另一个窗体?

wpf中如何实现控件的拖拽