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>


已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页