[.NET MAUI][RadioButton] チェック状態の変更に対応する

.NET MAUI TIPS .NET MAUI
.NET MAUI TIPS
スポンサーリンク

本記事の概要

この記事では RadioButton のチェック状態の変更に対応する方法について説明します。

公式サイト情報はコチラを参照してください。

チェック状態の変更に応答する例

チェック状態の変更に応答する例

チェック状態の変更を受け取るイベント

RadioButton はチェック状態が変更されると CheckedChanged イベントが発生します。

以下に CheckedChanged イベントの基本使用例を示します。

この例では年代の選択肢「20代」「30代」「40代」の RadioButton があり、30代の RadioButton にのみ CheckedChanged イベントを設定しています。

30代がチェックされるとラベルに「30代」と表示します。

XAML の例

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MauiAppSample.MainPage">
			 
    <ScrollView>
        <VerticalStackLayout Spacing="25" Padding="30,0" VerticalOptions="CenterAndExpand">

            <StackLayout RadioButtonGroup.GroupName="Generation">
                <Label Text="年代" />
                <RadioButton Content="20代" Value="20"/>
                <RadioButton Content="30代" Value="30" CheckedChanged="RadioButton_CheckedChanged"/>
                <RadioButton Content="40代" Value="40"/>
            </StackLayout>

            <Label x:Name="myLabel" />
        </VerticalStackLayout>
    </ScrollView>
 
</ContentPage>

C# の例

private void RadioButton_CheckedChanged(object sender, CheckedChangedEventArgs e)
{
    myLabel.Text = String.IsNullOrEmpty(myLabel.Text) ? "30代" : "";
}
チェック状態の変更に応答する例

チェック状態の変更に応答する例

イベントを共有してチェック状態に応答する

CheckedChanged イベントは、複数の RadioButton で共有することができます。

ですので、以下の例のように、全ての RadioButton で同じ CheckedChanged イベントを使用することができます。

CheckedChanged イベントの引数には、チェック状態が変更された RadioButton の情報が入っています。((RadioButton)sender).プロパティ名 のようにすることで、チェック状態が変更された RadioButton のプロパティを参照することができます。

この例では、Content プロパティを参照して、チェック状態が変更された RadioButton の表示テキストを取得してラベルに表示しています。
XAML の例

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MauiAppSample.MainPage">
			 
    <ScrollView>
        <VerticalStackLayout Spacing="25" Padding="30,0" VerticalOptions="CenterAndExpand">

            <StackLayout RadioButtonGroup.GroupName="Generation">
                <Label Text="性別" />
                <RadioButton Content="20代" Value="20" CheckedChanged="RadioButton_CheckedChanged"/>
                <RadioButton Content="30代" Value="30" CheckedChanged="RadioButton_CheckedChanged"/>
                <RadioButton Content="40代" Value="40" CheckedChanged="RadioButton_CheckedChanged"/>
            </StackLayout>

            <Label x:Name="myLabel" />
        </VerticalStackLayout>
    </ScrollView>
 
</ContentPage>

C# の例

private void RadioButton_CheckedChanged(object sender, CheckedChangedEventArgs e)
{
    myLabel.Text = ((RadioButton)sender).Content.ToString();
}

 

イベントを共有する例

イベントを共有する例

.NET MAUI Tips

本サイトでまとめている .NET MAUI Tips の一覧はこちらから確認できます。

Please follow and like us:

コメント

タイトルとURLをコピーしました