将模型中的文本发送到ViewModel

时间:2014-12-09 10:52:33

标签: c# wpf mvvm

我正在设计一个C#/ WPF应用程序,并尝试遵循MVVM(但我不介意选择快捷方式,因为我是一个初学者)。

我有一个ViewModel和几个模型。在View中有一个TextBox,用于记录有关模型中发生的事情的消息。 TextBox的文本已绑定到我的ViewModel中的字符串属性,但是如何让我的模型能够在不破坏MVVM概念的情况下将文本附加到该TextBox?

我正在考虑为我的TextBox使用Trace和Trace监听器。还有其他(简单)方式吗?

由于

1 个答案:

答案 0 :(得分:2)

如果您在模型中加入网络等功能,那么它就不再是模型了。它将承担许多责任,并将违反Single Responsibility Principle (SRP)

将模型简化为仅包含与模型类本身绑定的逻辑。将网络等功能转移到服务类中。

  1. 更新是同一ViewModel中用户操作的结果

    从ViewModel调用服务类(即在表示用户操作的命令中),如果调用成功,则获取更新的值。

  2. 更新操作发生在另一个ViewModel或其他地方(计时器/投票)

    如果同步发生在其他地方,请使用EventAggregator。您的服务可以触发事件/消息,您的ViewModel将订阅它。收到此活动后,请更新您的ViewModel并升级PropertyChanged