WPF 弹出菜单

微软提供了一个ContextMenu 类,用于弹出菜单。同时这个菜单是可以与控件绑定,指定弹出菜单。


我们以整个WPF窗体为例:右键点击wpf窗体任何地方时,弹出菜单,点击退出。


首先在xaml中,添加contextmenu

<Window.ContextMenu>
        <ContextMenu Name="menu">
            <MenuItem Name="exit" Header="退出" Click="window_exit"></MenuItem>
        </ContextMenu>
    </Window.ContextMenu>

我们对window添加名为Menu的ContextMenu,同时菜单中包含了名为exit的菜单项。当点击“退出”菜单项时,激活window_exit事件,退出整个程序。(Header为菜单项的内容)


为了响应右键弹出菜单,我们需要在xaml中添加右击事件:

<Window x:Class="ConceptClock.MainWindow"
        Title="MainWindow" Height="500" Width="500"
        Topmost="True"
        MouseRightButtonDown="Window_MouseRightButtonDown_1"
        >

同时在cs中加入:

 private void Window_MouseRightButtonDown_1(object sender, MouseButtonEventArgs e)
        {
            menu.IsOpen = true;

        }

设置menu的IsOpen属性为true,显示菜单


再设置点击退出时的事件:

private void window_exit(object sender, EventArgs e)
        {
            this.Close();
        }

如图所示:



如果要显示菜单中间的分隔符,加个<Separator />就好:

Window.ContextMenu>
        <ContextMenu Name="menu">
            <MenuItem Name="exit" Header="退出" Click="window_exit"></MenuItem>
            <MenuItem Name="exit1" Header="退出" Click="window_exit"></MenuItem>
            <Separator />
            <MenuItem Name="exit2" Header="退出" Click="window_exit"></MenuItem>
        </ContextMenu>
    </Window.ContextMenu>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值