[英]MVVMLight Messenger Send - Pause method
我正在从“隐藏代码”将程序转换为MVVM Light。
此软件的一部分,必须从我们的银行读取CSV文件,获取所有数据,进行转换,然后将其复制为新的CSV,然后将其上传到我们的会计软件中。
如果是第一次上传信用卡,则使用后面的代码读取CSV时会打开一个新表格,以便设置一些默认值,一旦设置了默认值,它将继续处理。
我一直在使用MessengerInstance在表单之间交换和在视图模型之间传递数据。 但是我不知道如何发送消息,请暂停当前运行的方法,直到发送回消息为止。
发信息
selectedCreditCard =
_creditCardList.SingleOrDefault(x => x.CreditCardNumber == existingColumns[1]);
if (selectedCreditCard == null)
{
MessengerInstance.Send(Messaging.FormChanged.NewCreditCard);
MessengerInstance.Send(existingColumns[1], Messaging.MessengerTokens.
}
接收讯息
public NewCreditCardViewModel()
{
Messenger.Default.Register<string>(this, Messaging.MessengerTokens.NewCreditCards, value => AccountName = value);
SaveCommand = new RelayCommand(SaveNewCreditCard);
RefreshCommand = new RelayCommand(RefreshVendorsAndReviewers);
CreditCard = new VPCreditCard();
}
如果我正确理解你
您希望将其与消息保持分离,然后只需从默认表单中的确定发送回一条消息即可继续进行处理。 即保存状态并继续使用默认设置
处理CSV第1部分(停止处理,保存状态,检查新抄送)
1.a-如果是新抄送,则将邮件发送到默认表单(如果不是新抄送,则处理CSV第2部分)
1.b-默认设置打开,单击确定,发送回信处理表格
接收完成的默认消息,处理CSV第2部分(从上次中断处继续)
前提是您只需要将CSV处理分为2部分,2种方法,并允许其通过其状态自行恢复
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.