.net - MVVM 中的事件而不是命令?

标签 .net wpf mvvm command code-behind

在 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/

相关文章:

c# - DataContractJsonSerializer 不适用于格式化的 JSON?

c# - 继承 WPF 窗口

c# - 动画方法、简化与修复

c# - 未调用 WPF IValueConverter.ConvertBack

javascript - 在 AngularJS 中设置应用程序范围的 HTTP header

c# - 如何在具有 2 个参数的函数上使用 System.Threading.Tasks.Task 进行异步调用?在.Net

c# - 未能从文本 'Path' 创建 '(RadButtonOnImage:RadButtonImage.Image)'

.net - Caliburn Micro,消息/ Action 到另一个 ViewModel

.NET 4.0 内部实现排序

c# - 以编程方式更改 ScrollViewer 中的滚动条宽度