我在我的WPF應用程序中遇到了MVVM模式和命令的問題。問題不在於MVVM模式,而在於我的GUI上更多的東西。我將解釋情況:如何在此特定的WPF環境中應用MVVM和命令?
我的應用程序可以對某些文件進行操作。我有一個功能DoStuff(int limit)
的課程。我的用戶的用戶界面有以下三個項目:
- 一個
Button
DoStuffBtn
開始解析。 - A
TextBox
LimitTxt
填寫一個限制。 - A
CheckBox
LimitChk
啓用或禁用限制。
當你將 「取消」 LimitChk
,然後LimitTxt.Text = ""
和LimitTxt.IsEnabled = false
。當你將再次「檢查」 LimitChk
,然後LimitTxt.IsEnabled = false
,但直到你填寫一些文本保留爲空。
我在WPF和MVVM讀命令很多教程,但我似乎無法澆我的情況下進入那個模子。我給出的例子實際上只是我用戶界面的一小部分,但我似乎無法做到這一點很好。
我一直運行到這樣的問題:
- 我是否需要兩個
Commands
爲LimitChk
(啓用和禁用),或只是一個(切換)? - 如果我將
int
綁定到LimitTxt
,如果我將其設置爲空並禁用它,會發生什麼情況? - 當
DoStuffBtn
被按下時,僅僅使用DoStuff(Int32.Parse(LimitTxt.Text))
是乾淨的方法嗎? - 如果我在
LimitChk
上使用了兩個命令,那麼CanExecute()
函數ICommand
會發生什麼情況,它決定了LimitChk
是否已啓用?
所以主要問題是:我所描述的情況如何適合WPF中使用命令的好模式?
在WPF,命令和MVVM我有些鏈接已經看了:
- http://www.devx.com/DevX/Article/37893/0/page/1
- http://msdn.microsoft.com/en-us/magazine/cc785480.aspx?pr=blog
- http://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/432/MVVM-for-Tarded-Folks-Like-Me-or-MVVM-and-What-it-Means-to-Me.aspx
- http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
什到目前爲止,我的理解是,我必須儘可能地保持用戶界面不變。甚至像用戶界面影響UI的東西。即取消選中LimitChk
禁用LimitText
。儘管如此,我認爲我應該在UI相關信息和行爲之間保持區別,而這些與實際工作密切相關。
lol在像我這樣的jerseyill tarded人後 – kenwarner 2010-01-22 16:54:55