在设置Xamarin命令时,我可以在viewModel类构造函数中执行此操作吗



我的应用程序一直是这样的代码,但我不确定这是否正确。特别是"return aButton ClickedCommand??",我认为这意味着如果命令尚未定义,则创建它。

与其这样做,不如在构造函数中声明命令更干净?如果是这样,我该如何做到并使用它?

public partial class PhrasesFrameViewModel : ObservableObject
{
private ICommand aButtonClickedCommand;
    public ICommand AButtonClickedCommand
    {
       get
       {
           return aButtonClickedCommand ?? (aButtonClickedCommand = 
new Command(() => {
                        App.DB.IncrementPoints(Settings.cfs, phrasesFrame.phrase, (int)Settings.aBtn, 1);
                        Change.points = true;
                        phrasesFrame.CancelTimer2();
            }));
     }
}

您可以在构造函数或其他命令模式中执行此操作,并且可能看起来更干净,还可以将其保存在构造函数中

private ICommand abuttonClickedCommand;
public ICommand AButtonClickedCommand => aButtonClickedCommand ?? (aButtonClickedCommand = new Command(ProcessButtonClickedCommand));
private void ProcessButtonClickedCommand()
{
App.DB.IncrementPoints(Settings.cfs, phrasesFrame.phrase, (int)Settings.aBtn, 1);
Change.points = true;
phrasesFrame.CancelTimer2();
}

你基本上是正确的,如果它没有创建(然后创建它(,然而有些人也喜欢构造函数的方法

相关内容

  • 没有找到相关文章

最新更新