在 MVVM 的各种教程中经常指定,MVVM 的目标不是消除代码隐藏,并且在代码隐藏中可能仍然需要一些事件处理。
哪些场景需要在代码隐藏中编写事件而不是在 View 模型中使用命令?
最佳答案
通常,如果您的代码与 UI 逻辑有关,请将其保存在 View 的 XAML 或代码隐藏中。 View 模型只负责 View 和模型之间的桥接和绑定(bind)数据。
可以在我的一个问题中找到一个示例,How do I make a WPF window movable by dragging the extended window frame?我使用的事件之一是 SourceInitialized
,我在其中访问 Window
的窗口句柄来执行一些 Windows API 魔术。但这一切都与窗口有关,与窗口之外的应用程序逻辑无关,所以我将其全部限制在窗口的代码隐藏文件中,让 View 模型完全不知道它。
关于.net - MVVM 中的事件而不是命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6137771/