我在MainPageViewModel上的viewModel調用事件之一上有代碼。當我用「真」訂閱像EventAggregator在一個事件中被多次觸發
eventAggregator type.GetEvent<UpdateUserBooksEvent>().Subscribe(str =>
{
GetUserBooks();
}, true);
,然後移動幾次不同頁面之間,那麼當被調用這個事件,它觸發對MainPageViewModel幾次。 (也許MainPageVM創造了多次?)
如果我沒有「真正的」訂閱像
eventAggregator type.GetEvent<UpdateUserBooksEvent>().Subscribe(str =>
{
GetUserBooks();
});
去上幾頁,那麼該事件不會觸發。 (也許MainPageVM被垃圾收集器清除?)。
如何使一個事件不能多次工作?或者在瀏覽遠至1-2頁之前解僱。
如何在UWP中實現服務,隨時可以從任何VM訪問服務? –
將它註冊爲具有統一性(或您使用的任何容器)的單身人士,並將其作爲依賴項注入視圖模型中。 – Haukinger