我的 WPF 应用程序中的 MVVM 模式和命令有问题。问题不在于 MVVM 模式,而在于我的 GUI 上正在发生的事情。我解释一下情况:
我的应用程序可以 DoStuff 到某些文件。我有一个带有函数的类DoStuff(int limit)
。我的用户用户界面有以下项目:
- A
Button
DoStuffBtn
开始解析。 - A
TextBox
LimitTxt
填写一个限制。 - A
CheckBox
LimitChk
启用或禁用限制。
当您“取消选中”LimitChk
时,然后LimitTxt.Text = ""
和LimitTxt.IsEnabled = false
。当您再次“检查”时LimitChk
,LimitTxt.IsEnabled = false
文本仍然为空,直到您填写某些内容。
我已经阅读了许多关于 WPF 和 MVVM 中的命令的教程,但我似乎无法将我的案例倒入那个模型中。我给出的示例实际上只是我 UI 的一小部分,但我似乎也不能很好地做到这一点。
我不断遇到以下问题:
- 我需要两个
Commands
(LimitChk
启用和禁用)还是只需要一个(切换)? - 如果我绑定一个
int
toLimitTxt
,如果我将它设为空并禁用它会发生什么? - 按下
DoStuff(Int32.Parse(LimitTxt.Text))
时使用它是一种干净的方法吗?DoStuffBtn
- 如果我在 上使用两个命令,确定是否启用的功能
LimitChk
会发生什么?CanExecute()
ICommand
LimitChk
所以主要问题是:我描述的情况如何适合使用 WPF 中的命令的一个很好的模式?
我看过的关于 WPF、Commands 和 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。甚至像 UI 这样的东西也会影响 UI。即取消选中LimitChk
禁用LimitText
。尽管如此,我认为我应该在与 UI 相关的信息和操作以及实际上与必须完成的实际工作有关的内容之间保持区别。