MAUIでiOSアプリの開発!

MAUIを使ったiOSアプリの開発についての技術的なメモです。

Commandパラメータの受け取り方

画面に複数のボタンを配置して、バインド先のメソッドは1つにして、
CommandParameterの値で押下したボタンを判別する場合。

ネットで探してもなぜかすぐには見つからなかったので、メモしときます。

 

Xaml

※「DialogButtonType」は列挙体
<Button
    Command="{Binding Source={x:Reference Dialog}, Path=DialogOkCommand}"
    CommandParameter="{x:Static local:DialogButtonType.DialogOkButon}"
    ・・・
>

<Button
    Command="{Binding Source={x:Reference Dialog}, Path=DialogOkCommand}"
    CommandParameter="{x:Static local:DialogButtonType.DialogCancelButon}"
    ・・・
>

ViewModelの変数定義

public ICommand DialogOkCommand { get; }

ViewModelのコンストラク

this.DialogOkCommand = new Command((sender) => this.OnDialogOkCommandClicked(sender));

ViewModelのメソッドの定義

private void OnDialogOkCommandClicked(DialogButtonType sender)
{
    clickButton = sender;
}