wpf menu 菜单 快捷键

界面快捷键资源
Ctrl+F F3可加入其它,自行定义
Page可改为Windows

xaml文件

<Style TargetType="{x:Type DataGrid}">
	<Setter Property="ContextMenu">
            <Setter.Value>
                <ContextMenu  StaysOpen="true">
                    <MenuItem Header="Copy" Command="{x:Static ApplicationCommands.Copy}">
                    </MenuItem>
                </ContextMenu>
            </Setter.Value>
    </Setter>
</Style>

<Page.Resources>
        <RoutedUICommand x:Key="F3" Text="查找内容"/>
        <RoutedUICommand x:Key="Search" Text="查找内容"/>
    </Page.Resources>
<Page.InputBindings>
    <KeyBinding Gesture="F3" Command="{StaticResource Search}" />
    <KeyBinding Gesture="Ctrl+F" Command="{StaticResource Search}"/>
</Page.InputBindings>
<Page.CommandBindings>
    <CommandBinding Command="{StaticResource Search}" Executed="CommandBindingSearch_Executed"/>
    <CommandBinding Command="{StaticResource F3}" Executed="CommandBindingSearch_Executed"/>
</Page.CommandBindings>

cs文件
private void CommandBindingSearch_Executed(object sender, ExecutedRoutedEventArgs e)
{
    //执行查找
}

wpf button左键菜单

ContextMenu cmnu = new ContextMenu();
cmnu.Style = null;//可从字典读取
MenuItem item = new MenuItem() { Name = "mnuOpen", Header = "Open" };
item.Click += MenuItem_Click;
cmnu.Items.Add(item);
item = new MenuItem() { Name = "mnuClose", Header = "Close" };
item.Click += MenuItem_Click;
cmnu.Items.Add(item);

btn.Click += (bn, ev) =>
{
	cmnu.Tag = btn.Tag;
    cmnu.PlacementTarget = btn;
    cmnu.Placement = System.Windows.Controls.Primitives.PlacementMode.Right;
    cmnu.IsOpen = true;

    //或者 //dg可以改为其它的控件或直接设置ContextMenu
    //dg.ContextMenu.Tag = btn.Tag;
    //dg.ContextMenu.PlacementTarget = btn;
    //dg.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Right;
    //dg.ContextMenu.IsOpen = true;
};
btn.Initialized += (o1, e1) => { btn.ContextMenu = null; };

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值