wpf mvvm從入門到精通2:實現乙個登入視窗
我們究竟要做乙個怎樣的東西呢?直接上圖:
這看起來比較簡單,但把這個登入視窗做完,mvvm的入門就基本完成了。(為什麼登入介面要選擇性別這麼奇怪?無非是因為radiobutton的繫結也是乙個課題)
很多教程都是舉乙個小例子,讓人剛開始接觸的時候不知道如何在專案中使用。我這裡從乙個專案的開發角度簡單說說。
首先,這個視窗只是乙個專案眾多視窗中的其中乙個。為簡單起見,我們把專案檔案安排如下:
我們新建了乙個viewmodel資料夾,裡面按view的內容分資料夾,然後每個資料夾裡面包含了model類和viewmodel類。同時,viewmodel資料夾裡有乙個common資料夾,存放一些viewmodel需要共用的類。當然,如果讀者有更好的想法,完全沒必要按這個模式去做。
專案開始,我們不急著寫**,而是研究一下,在view裡面都包含了哪些資料。我列了乙個**:
中文名
型別
英文名
使用者名稱string
username
密碼string
password
性別int
gender
視窗初始化
view->viewmodel
wndinit
登入事件
view->viewmodel
loginclick
關閉行為
viewmodel->view
toclose
開啟新視窗
viewmodel->view
openwnd
前三項是顯而易見的,後面四項可能我們並不認為是一種資料。但在mvvm模式下,狹義的資料、事件、行為都變成了可以繫結的一種元素,也可以說是資料。
我們在前面提過,view和viewmodel改變狀態時,都是通過類似廣播的方式去做的。它們不會傳遞物件,而只會傳遞乙個名稱。所以,為了可以讓程式設計師和美工分頭行事,在命名方面,我們應該一開始就固定下來。
現在,我們可以開始開發model層了。model層的**如下:
namespace logindemo.viewmodel.login
///
/// 密碼
///
public string password
///
/// 性別
///
public int gender }}
model層的**就是這樣,非常單純,也沒有什麼新的知識。雖然我們後面會實現各種互動的邏輯,但model層的**已經不會改變了。
posted on
2019-12-14 16:57
不灬賴 閱讀(
...)
編輯
收藏
我們究竟要做乙個怎樣的東西呢?直接上圖:
這看起來比較簡單,但把這個登入視窗做完,mvvm的入門就基本完成了。(為什麼登入介面要選擇性別這麼奇怪?無非是因為radiobutton的繫結也是乙個課題)
很多教程都是舉乙個小例子,讓人剛開始接觸的時候不知道如何在專案中使用。我這裡從乙個專案的開發角度簡單說說。
首先,這個視窗只是乙個專案眾多視窗中的其中乙個。為簡單起見,我們把專案檔案安排如下:
我們新建了乙個viewmodel資料夾,裡面按view的內容分資料夾,然後每個資料夾裡面包含了model類和viewmodel類。同時,viewmodel資料夾裡有乙個common資料夾,存放一些viewmodel需要共用的類。當然,如果讀者有更好的想法,完全沒必要按這個模式去做。
專案開始,我們不急著寫**,而是研究一下,在view裡面都包含了哪些資料。我列了乙個**:
中文名
型別
英文名
使用者名稱string
username
密碼string
password
性別int
gender
視窗初始化
view->viewmodel
wndinit
登入事件
view->viewmodel
loginclick
關閉行為
viewmodel->view
toclose
開啟新視窗
viewmodel->view
openwnd
前三項是顯而易見的,後面四項可能我們並不認為是一種資料。但在mvvm模式下,狹義的資料、事件、行為都變成了可以繫結的一種元素,也可以說是資料。
我們在前面提過,view和viewmodel改變狀態時,都是通過類似廣播的方式去做的。它們不會傳遞物件,而只會傳遞乙個名稱。所以,為了可以讓程式設計師和美工分頭行事,在命名方面,我們應該一開始就固定下來。
現在,我們可以開始開發model層了。model層的**如下:
namespace logindemo.viewmodel.login
///
/// 密碼
///
public string password
///
/// 性別
///
public int gender }}
model層的**就是這樣,非常單純,也沒有什麼新的知識。雖然我們後面會實現各種互動的邏輯,但model層的**已經不會改變了。
MakeFile從入門到精通 2
程式的編譯與連線 軟體的底層構造系統 1,程式儲存與執行 2,程式編譯和連線 3,程式檔案的分類 4,動態庫與靜態庫 計算機基本都遵循馮諾伊曼結構,cpu 記憶體ram ddr記憶體條 固態硬碟 嵌入式就是flash nor nand 一般手機平板呼叫 pc 伺服器基本都遵循。主要是這三塊組成。一般...
電源拓撲從入門到精通 2
from 上期答案揭曉 答案上圖 c 下圖 a 小夥伴們答對了嗎?ytdfwangwei 我的笨辦法 source,源的意思,就是提供電流。所以,只要是電流流出,就是source。不知道是否正確?完全正確。sink 和 source 是在電路中經常出現的兩個詞。source 源,比如電源,源總是提供...
Nginx從入門到精通
1 nginx配置檔案載入機制 採用nginx s reload命令載入nginx的配置檔案,master程序讀取配置檔案,建立新的worker程序,向老的worker程序傳送shutdown命令。老的worker程序不再接受新的請求,待老的請求處理完成後,就會停掉。2 location匹配機制 當...