【发布时间】:2014-04-08 23:50:03
【问题描述】:
我正在使用 MVVM,并且我的 WPF 前端中嵌入了一个 3D 视图。我想在这个视图上执行一些操作,比如explode、unexplode 和home。我在视图上有执行这些操作的函数(即Explode(amount)、Unexplode()、Home()),但是如何从视图模型传达我想要做的事情?
【问题讨论】:
-
查看my answer 的类似问题。 --编辑:-- 我刚刚意识到你也问过这个问题:P
-
那是很久以前的事了。有一些 MVVM 的支持者,大声的支持者说,你永远不应该将代码与视图之外的任何东西耦合起来。听了他们这么久,把这些内容放到后面的代码里让我很痛苦。但我想这是最好的做法。
-
要么,要么使用 Messenger/EventAggregator(参见 MVVM Light 的
Messenger类或 PRISM 的EventAggregator),或者创建附加属性并将您的逻辑放入它们的OnDependencyPropertyChanged(...) -
或者你可以使用
Caliburn Micro的附加属性,例如Message.Attach。