shuhelohelo’s blog

Xamarin.Forms多めです.

XamarinでCommandにパラメータを渡す

複数のボタンを同じCommandにバインディングし,どのボタンが押されたのかをパラメータで区別したいときがある.

その場合はコマンドにCommand型のインスタンスを以下のようにして渡す.

        public ICommand SendMessageCommand { get; }

        public MainPageViewModel()
        {
            //・・・省略
            SendMessageCommand = new Command<string>(
                    execute: async (string arg) =>
                     {
                         await SendMessage(arg);
                     }
                );
        }

executeパラメータに渡すActionにstringを一つ渡せるようになっていて,ここにView側のCommandParameter属性に入れた値が入る.