本記事では、メニュー項目にショットカットキーを設定する方法について説明します。
環境
開発環境 | Microsoft Visual Studio Enterprise 2019 Version 16.11.5 |
Framework | Microsoft .NET Framework Version 4.8.04161 |
ショットカットキーを設定する
メニュー項目にショットカットキーを設定するには、<MenuFlyoutItem.KeyboardAccelerators> と <KeyboardAccelerator> を使用します。 <KeyboardAccelerator> には Modifiers プロパティと Key プロパティがあります。Modifiers プロパティには「Control」「Windows」「None」「Shift」などを設定することができ、Key プロパティには「K」や「N」など、押下するキー名を指定します。
Modifiers=”Control” Key=”N” とすると [Ctrl] + [N] というショートカットキーを設定する意味になります。
以下は「ファイル」の各メニューにショートカットキーを設定する例です。
<Window x:Class="WinUIAppSample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:WinUIAppSample" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <StackPanel VerticalAlignment="Top" HorizontalAlignment="Left"> <MenuBar> <MenuBarItem Title="ファイル"> <MenuFlyoutItem Text="新規" Icon="Add"> <MenuFlyoutItem.KeyboardAccelerators> <KeyboardAccelerator Modifiers="Control" Key="N" /> </MenuFlyoutItem.KeyboardAccelerators> </MenuFlyoutItem> <MenuFlyoutItem Text="開く..." Icon="OpenFile"> <MenuFlyoutItem.KeyboardAccelerators> <KeyboardAccelerator Modifiers="" Key="O" /> </MenuFlyoutItem.KeyboardAccelerators> </MenuFlyoutItem> <MenuFlyoutItem Text="保存" Icon="Save"> <MenuFlyoutItem.KeyboardAccelerators> <KeyboardAccelerator Modifiers="Control" Key="S" /> </MenuFlyoutItem.KeyboardAccelerators> </MenuFlyoutItem> <MenuFlyoutSeparator /> <MenuFlyoutItem Text="終了"> <MenuFlyoutItem.KeyboardAccelerators> <KeyboardAccelerator Modifiers="Control" Key="X" /> </MenuFlyoutItem.KeyboardAccelerators> </MenuFlyoutItem> </MenuBarItem> <MenuBarItem Title="モード"> <RadioMenuFlyoutItem Text="自動" IsChecked="True" /> <RadioMenuFlyoutItem Text="ダークモード" /> <RadioMenuFlyoutItem Text="ライトモード" /> </MenuBarItem> <MenuBarItem Title="ヘルプ"> <MenuFlyoutItem Text="このアプリについて" Icon="Help"/> </MenuBarItem> </MenuBar> <StackPanel> </StackPanel> </StackPanel> </Window>
Please follow and like us:
コメント