2

我正在尝试创建一个TextBox只允许数字字符和小数点的。我在编写代码时不需要帮助,但在概念上需要帮助。我MVVM用来设计WPF应用程序,但不确定是使用事件还是事件到命令。

我已经阅读了有关此主题的几种不同观点:

  • MVVM(我发现这有点极端,有些人称之为“适得其反”,但它维护View. 为防止这种情况,请使用MVVM Light Library。简而言之,将事件转换为命令,以便在ViewModel.
  • (第二个论点不支持(可能过度)“纯度” MVVM:并非所有事情都必须在 中处理,ViewModel并且可以创建Events来处理某些UI要求。

由于简单,我更倾向于第二种选择,正如我之前所说,第一种选择似乎有点极端。在我的特定情况下(仅创建一个数字TextBox),大多数人会更喜欢上述选项还是我没有发现的选项?

4

2 回答 2

5

您应该将其作为 .cs 文件中的事件处理。您正在尝试在控件中添加功能。就像 TextBox 中的文本一样。它们都在 .cs 文件中处理。ViewModel 负责保存基于该数据的数据和行为,而不是用于控制的功能。

于 2013-02-21T16:01:01.107 回答
0

这应该直接在 View 中处理,而不是涉及 ViewModel,但没有必要重新发明轮子。

根据您的确切数字要求,使用扩展 WPF 工具包中的 DoubleUpDown 或 IntegerUpDown 等控件(可通过 NUGet 获得)

于 2013-02-21T16:19:20.290 回答