Silverlight 4.0 在构造函数或属性中创建DelegateCommand

Silverlight 4.0 在构造函数或属性中创建DelegateCommand,silverlight-4.0,mvvm,Silverlight 4.0,Mvvm,我已经看到了在构造函数中或属性本身中创建DelegateCommand的多个示例。我想知道在构造函数中这样做是否有什么好处,因为我一直在属性中这样做,以便更容易地跟踪它 (在我的例子中使用Prism、Silverlight4和SimpleMVVM工具包) VS 在这个问题上,我的想法和你一样 我最终还是选择了你的第二个解决方案。然而,我确实在我的属性GET中使用了这个机制很长一段时间 private DelegateCommand _cmdLogin; public DelegateComman

我已经看到了在构造函数中或属性本身中创建DelegateCommand的多个示例。我想知道在构造函数中这样做是否有什么好处,因为我一直在属性中这样做,以便更容易地跟踪它

(在我的例子中使用Prism、Silverlight4和SimpleMVVM工具包)

VS


在这个问题上,我的想法和你一样

我最终还是选择了你的第二个解决方案。然而,我确实在我的属性GET中使用了这个机制很长一段时间

private DelegateCommand _cmdLogin;
public DelegateCommand CmdLogin
{
    get { return _cmdLogin??(_cmdLogin = new DelegateCommand(this.Login, this.CanLogIn));}
}
上面的代码延迟加载delegatecommand,并且只有一行代码


我最终选择了您的第二个解决方案,因为它是其他编码器最清晰/最容易阅读的解决方案。

不知道空合并运算符(??)。谢谢你的新速记。
    public LoginViewModel()
    {
        this.LoginCommand = new DelegateCommand(this.Login, this.CanLogin);
    }
    public DelegateCommand LoginCommand { get; set; }
private DelegateCommand _cmdLogin;
public DelegateCommand CmdLogin
{
    get { return _cmdLogin??(_cmdLogin = new DelegateCommand(this.Login, this.CanLogIn));}
}