[UWP] [C#]在Ulay应用程序的RelayCommand中传递参数 [英] [UWP][C#]Pass parameter in a RelayCommand for a UWP app

查看:73
本文介绍了[UWP] [C#]在Ulay应用程序的RelayCommand中传递参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对UWP和RelayCommand有点新鲜感。 我希望能够在此RelayCommand中传递参数,但不太确定如何操作。

I'm a bit fresh to the UWP and RelayCommand.  I want to be able to pass a parameter in this RelayCommand but not quite sure how to do it.

public RelayCommand< object> CallWorkCommand

        {

           得到
            {

               返回_CallWorkCommand ?? (_CallWorkCommand = new RelayCommand< object>(p =>

                ; {

                    //执行代理。我需要MyRow作为参数

                     CallCommand(MyRow.FirstName +"" + MyRow.LastName,MyRow.WorkPhone);

                },

                 p =>  true

              ) );;
            }
public RelayCommand<object> CallWorkCommand
        {
            get
            {
                return _CallWorkCommand ?? (_CallWorkCommand = new RelayCommand<object>(p =>
                {
                    // Execute delegate.  I need MyRow to be a parameter
                    CallCommand(MyRow.FirstName + " " + MyRow.LastName, MyRow.WorkPhone);
                },
                p => true
               ));
            }

推荐答案

您好,

您有以下代码 

You have following code 

public RelayCommand<object> CallWorkCommand
        {
            get
            {
                return _CallWorkCommand ?? (_CallWorkCommand = new RelayCommand<object>((object param) =>
                {
                    // Execute delegate.  I need MyRow to be a parameter
                     CallCommand(MyRow.FirstName + " " + MyRow.LastName, MyRow.WorkPhone);
                },
                (object canExecute) => {return true; }
               ));
            }
        }




param  上面的lambda是在运行时传递给CallCommand方法的参数。该按钮具有CommandParametr属性,可用于将参数传递给可执行方法。您可以按照以下步骤进行操作

The param in above lambda is parameter which is passed to CallCommand method at runtime. The button have CommandParametr property which you can use for passing parameter to executable method. You can do it as follow 

<Button Width="40" Height="40"
        Command="{Binding CallWorkCommand}" CommandParameter="{Binding MyRow}"/>

  and code behind 

 and code behind 

public RelayCommand<object> CallWorkCommand
        {
            get
            {
                return _CallWorkCommand ?? (_CallWorkCommand = new RelayCommand<object>((object param) =>
                {
                    // Execute delegate.  I need MyRow to be a parameter
                     CallCommand(parametr);
                },
                (object canExecute) => {return true; }
               ));
            }
        }


 void CallCommand(object e)
{
  var = e as ......
}

这篇关于[UWP] [C#]在Ulay应用程序的RelayCommand中传递参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆