【问题标题】:Call a method in the ViewModel Programatically以编程方式调用 ViewModel 中的方法
【发布时间】:2017-02-15 21:07:42
【问题描述】:

我有 A 和 B ViewModel,我添加了一个点击按钮来调用一个方法。但是,我想知道如何在不单击按钮的情况下以编程方式调用它

AViewModel.cs

public IMvxCommand BSelectedCommand => new MvxCommand<BViewModel>(BSelected);

public void BSelected(BViewModel bViewModel)
{
    if (bViewModel != null)
    {
       SelectedStudents = bViewModel;
       bViewModel.IsSelected = true;
    }
 }

【问题讨论】:

  • 你为什么不能直接打电话给BSelected
  • BSelected 查找参数 - bViewModel?,但 ICommand 如何在不传递参数的情况下调用它?
  • 我不明白你在问什么。
  • 很难说,因为在您的示例中不清楚 BViewModel 是什么。
  • 我需要致电BSelected()?BSelected(bViewModel)。我问是因为MvxCommand&lt;BViewModel&gt;(BSelected) 传递bViewModel

标签: c# xamarin mvvmcross


【解决方案1】:

我假设 IMvxCommand 有一个名为“Excute(BSelected)”的方法——那么它将是一个典型的 MVVM 命令对象。在这种情况下你

AViewModel avm = new AViewModel();
avm.BSelectCommand.Execute(new BViewModel());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多