この記事では、CommandBarFlyout で、メニュー項目が選択されたことを知る方法について説明します。
環境
開発環境 | Microsoft Visual Studio Enterprise 2019 Version 16.11.5 |
Framework | Microsoft .NET Framework Version 4.8.04161 |
メニューが選択されたことを知る
メニューの項目が「選択された」ということを知りたい場合は、AppBarButton の Click イベントを使用します。
以下は コマンドバーに「切り取り」「コピー」「貼り付け」の3つのメニュー項目を表示し、選択された時に TextBlock にメッセージを表示する例です。
XAML の例
<Window x:Class="WinUISample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:WinUISample" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <Grid> <Grid.Resources> <CommandBarFlyout x:Name="ImageCommandsFlyout"> <AppBarButton Icon="Cut" Click="MenuCut_Click"/> <AppBarButton Icon="Copy" Click="MenuCopy_Click" /> <AppBarButton Icon="Paste" Click="MenuPaste_Click" /> </CommandBarFlyout> </Grid.Resources> <StackPanel Orientation="Vertical" HorizontalAlignment="Center"> <Image Source="Assets/DSC_0355.JPG" Width="300" FlyoutBase.AttachedFlyout="{x:Bind ImageCommandsFlyout}" ContextFlyout="{x:Bind ImageCommandsFlyout}"/> <TextBlock x:Name="myTextBlock"/> </StackPanel> </Grid> </Window>
C# の例
private void MenuCut_Click(object sender, RoutedEventArgs e) { myTextBlock.Text = "切り取り"; } private void MenuCopy_Click(object sender, RoutedEventArgs e) { myTextBlock.Text = "コピー"; } private void MenuPaste_Click(object sender, RoutedEventArgs e) { myTextBlock.Text = "貼り付け"; }
Please follow and like us:
コメント