在mvvm模式中,我們將button的方法寫到viewmodel中,然後繫結到前端介面。通常的做法是寫乙個類,繼承icommand介面,然而如果按鈕比較多的話,就需要寫很多的類,對於後期維護造成很大的不變,微軟提供了乙個delegatecommand類,可以簡化開發。
使用方法如下:
首先生命viewmodel屬性,getmsg函式,
publicdelegatecommand getmsg
}
在viewmodel中寫方法getmessage,**如下:
publicvoid getmessage(object
parameter)
然後在前端繫結,**如下:
"" isenabled="
"commandparameter="
" content="
ok" width="
100" height="32"
horizontalalignment="
left
" margin="
149,228,0,0
" name="
button1
"verticalalignment="
top" canvas.left="
-105
" canvas.top="
3" />
其實,delegatecommand只是乙個繼承自icommand的類,下面我們來寫自己的delegatecommand類,實現同樣的功能。**如下:
publicclass
delegatecommand : icommand
public delegatecommand(actionaction)
public
bool canexecute(object
parameter)
public
event
eventhandler canexecutechanged;
public
void execute(object
parameter)
if (actiont != null
)
}}
這個類有兩個構造方法,有引數的和無引數的,可以根據自己的需要擴充套件,使用起來非常方便。
WPF中MVVM模式下的按鈕事件實現和依賴項通知
自從上一次寫mvvm入門到現在,又過了好長時間了,一直想著把事件的繫結總結一下,但是一來是認識的不夠,感覺講不清楚 二來是懶。不管了,寫的不對的地方大家提一下,錯誤要是不暴露它就一直是錯誤。先說按鈕的事件繫結,net中提供的icommand就是這麼用的,自己寫乙個command的基類,繼承 icom...
在 WPF 程式中使用 MVVM 模式
mvvm 模式是乙個很久之前的技術了,最近因為乙個專案的原因,需要使用 wpf 技術,所以,重新翻出來從前的一段程式,重溫一下當年的技術。mvvm 實際上涉及三個部分,model,view 和 viewmodel 三者的關係如下圖所示。在三部分的關係中,檢視顯示的內容和操作完全依賴於 viewmod...
MVVM在Silverlight中的簡單應用
1.學習要學會總結,養成好習慣。現在的專案中需要用到silverlight 和 其中mvvm做為silverlight中的一種常用的設計模式被廣泛的引用,小弟剛剛學習,下面是我學習之後所做的乙個小小的例子。本篇文章只是做為學習silverlight入門程式的新手們共同學習,對應老鳥和已經明白mvvm...