在MVVM模式中,按鈕Click事件的繫結方法

2021-09-06 16:10:26 字數 1226 閱讀 2958

在mvvm模式中,我們將button的方法寫到viewmodel中,然後繫結到前端介面。通常的做法是寫乙個類,繼承icommand介面,然而如果按鈕比較多的話,就需要寫很多的類,對於後期維護造成很大的不變,微軟提供了乙個delegatecommand類,可以簡化開發。

使用方法如下:

首先生命viewmodel屬性,getmsg函式,

public

delegatecommand getmsg

}

在viewmodel中寫方法getmessage,**如下:

public

void 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類,實現同樣的功能。**如下:

public

class

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...