[英]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.