【发布时间】:2017-01-07 04:55:25
【问题描述】:
我目前正在使用 WPF 和 MVVM Light 工具包制作应用程序。
我有这个视图模型:
public class MainViewModel : ViewModelBase
{
// Instance of service which is used for sending email.
private IEmailService _emailService;
// Get/set instance of service which is used for sending email.
public IEmailService EmailService
{
get
{
return _emailService;
}
set
{
Set("EmailService", ref _emailService, value);
}
}
public MainViewModel()
{
_emailService = new ServiceLocator.Current.GetInstance<IEmailService>();
}
}
电子邮件服务是一种处理发送/处理电子邮件的服务。当用户与屏幕上的元素交互时,会调用电子邮件服务(已在 ServiceLocator 中注册)
我想知道我的实现在 MVVM 设计模式下是否正确。有没有更好的方法将服务注入视图模型(当前的方法需要花费大量时间来声明初始化属性)
【问题讨论】:
标签: wpf mvvm mvvm-light