この記事では CommandBarFlyout を使用してポップアップするコマンドメニューを作成する基本について説明します。
環境
| 開発環境 | Microsoft Visual Studio Enterprise 2019 Version 16.11.5 |
| Framework | Microsoft .NET Framework Version 4.8.04161 |
コマンドメニューを作成する
コンテキストメニューは文字が中心の縦表示のメニューですが、CommandBarFlyout を使用すると、以下のようなアイコンを横に並べたポップアップメニューを作成することができます。
以下は、画面に表示された画像を右クリックした時に「切り取り」「コピー」「貼り付け」のアイコンを横に並べたポップアップメニューを表示するコード例です。
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" />
<AppBarButton Icon="Copy" />
<AppBarButton Icon="Paste" />
</CommandBarFlyout>
</Grid.Resources>
<Image Source="Assets/DSC_0355.JPG" Width="300"
FlyoutBase.AttachedFlyout="{x:Bind ImageCommandsFlyout}"
ContextFlyout="{x:Bind ImageCommandsFlyout}"/>
</Grid>
</Window>
画面(WIndow)には Grid を配置し、リソースとして <CommandBarFlyout> でポップアップメニューを定義しています。このとき、ポップアップメニューの名前を「ImageCommandsFlyout」にしています。メニューに表示するボタンは <AppBarButton> で定義し、表示するアイコンは Icon プロパティで設定します。
画面に表示する画像は <Image> で定義しています。右クリックした時にメニューを表示するには FlyoutBase.AttachedFlyout に先程定義した ポップアップに付けた名前「ImageCommandsFlyout」をバインドします。
Please follow and like us:


コメント