界面快捷键资源
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; };
原文链接:https://blog.csdn.net/weixin_53370274/article/details/116518680