排他的なメニュー項目は RadioMenuFlyoutItem で作成することができます。今回は、RadioMenuFlyoutItem でチェック状態を設定する方法について説明します。
環境
| 開発環境 | Microsoft Visual Studio Enterprise 2019 Version 16.11.5 |
| Framework | Microsoft .NET Framework Version 4.8.04161 |
任意のメニュー項目をチェック状態にする
RadioMenuFlyoutItem を使用したメニューは、IsChecked プロパティに True をセットすることであらかじめチェックを付けた状態にすることができます。既定値は False になっています。
XAML によるチェック状態の設定
以下は、XAML でメニュー項目 [モード]-[自動] にチェックを付ける例です。
<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 Text="開く..." Icon="OpenFile"/>
<MenuFlyoutItem Text="保存" Icon="Save"/>
<MenuFlyoutSeparator />
<MenuFlyoutItem Text="終了"/>
</MenuBarItem>
<MenuBarItem Title="モード">
<RadioMenuFlyoutItem Text="自動" IsChecked="True"/>
<RadioMenuFlyoutItem Text="ダークモード" />
<RadioMenuFlyoutItem Text="ライトモード" />
</MenuBarItem>
<MenuBarItem Title="ヘルプ">
<MenuFlyoutItem Text="このアプリについて" Icon="Help"/>
</MenuBarItem>
</MenuBar>
<StackPanel>
</StackPanel>
</StackPanel>
</Window>
C#によるチェック状態の設定
以下は C#(コードビハインド) でメニュー項目 [モード]-[自動] にチェックを付ける例です。
C#から操作ができるように、メニュー項目にx:Name=”menuAuto” を設定しています。
XAML
<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 Text="開く..." Icon="OpenFile"/>
<MenuFlyoutItem Text="保存" Icon="Save"/>
<MenuFlyoutSeparator />
<MenuFlyoutItem Text="終了"/>
</MenuBarItem>
<MenuBarItem Title="モード">
<RadioMenuFlyoutItem x:Name="menuAuto" Text="自動"/>
<RadioMenuFlyoutItem x:Name="menuDarkMode" Text="ダークモード" />
<RadioMenuFlyoutItem x:Name="menuLightMode" Text="ライトモード" />
</MenuBarItem>
<MenuBarItem Title="ヘルプ">
<MenuFlyoutItem Text="このアプリについて" Icon="Help"/>
</MenuBarItem>
</MenuBar>
<StackPanel>
</StackPanel>
</StackPanel>
</Window>
C#
public MainWindow()
{
this.InitializeComponent();
menuAuto.IsChecked = true;
}
Please follow and like us:


コメント