簡體   English   中英

MVVMLight Messenger發送-暫停方法

[英]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();
    }

如果我正確理解你

您希望將其與消息保持分離,然后只需從默認表單中的確定發送回一條消息即可繼續進行處理。 即保存狀態並繼續使用默認設置

  1. 處理CSV第1部分(停止處理,保存狀態,檢查新抄送)

    1.a-如果是新抄送,則將郵件發送到默認表單(如果不是新抄送,則處理CSV第2部分)

    1.b-默認設置打開,單擊確定,發送回信處理表格

  2. 接收完成的默認消息,處理CSV第2部分(從上次中斷處繼續)

前提是您只需要將CSV處理分為2部分,2種方法,並允許其通過其狀態自行恢復

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM