MVVM 簡化的Messager類

2022-03-09 22:48:21 字數 969 閱讀 8446

看mvvmlight的messager原始碼,自己實現了乙個簡單的messager類。

messager類可以在mvvm中,實現view與vm、vm與vm、view與view的通訊。

public

class

messager

return

_messageinstance;}}

public

void register(string

key,action action)

public

void register(string key, actionaction)

public

void send(string

key)

}public

void send(string

key,t para)

}}

主要通過register方法來註冊,send方法來觸發。

比如,vm中需要顯示乙個窗體,為了不破壞mvvm模式,我們可以把顯示窗體的方法寫在view中,並註冊到messager

messager.default.register("

changecontrolshow

", executechangedcontrlshow);

private

void executechangedcontrlshow(string

msg)

在vm中呼叫

messager.default.send("

changecontrolshow

","test

");

send有兩個引數,第乙個是方法的key,根據這個key,可以找到唯一的方法,

第二個引數是需要呼叫的方法的引數。

這樣,你只要知道方法的key,在任何檔案中,都可以呼叫註冊的方法,不需要我們再去使用委託了。

基於JQuery的messager彈窗元件開發

昨天晚上和今天白天,主要完成了乙個彈窗元件開發,在開發的過程中發現自己的問題和整理思路,將自己的想法通過 實現並最終看到效果,是乙個很享受的過程。在本次實踐中,我學習到了以前沒有注意的小的用法和知識點。當然裡面的一些方法也是得到專案組的大神的指導才豁然開朗的,而且有些方法不熟悉,正好通過這次實踐鞏固...

MVVM的理解,及MVVM與MVC的區別

model 很簡單,就是業務邏輯相關的資料物件,通常從資料庫對映而來,我們可以說是與資料庫對應的model。view 也很簡單,就是展現出來的使用者介面。基本上,絕大多數軟體所做的工作無非就是從資料儲存中讀出資料,展現到使用者介面上,然後從使用者介面接收輸入,寫入到資料儲存裡面去。所以,對於資料儲存...

對於MVVM的理解

參考 一 mvvm 分為3個模組 1.view 2.viewmodel 3.model 關係為 二 mvvm出現的原因 傳統mvc模式中controller中做了太多的資料加工的事情,隨著軟體規模的增長,越來越不好維護。越來越不好測試。所以mvvm把資料加工的任務從controller中解放了出來。...