我一直在关注使用 Caliburn Micro 的 MVVM 模式教程
https://www.youtube.com/watch?v=laPFq3Fhs8k
.xaml.cs 和 ViewModels/ViewModel.cs 有什么区别?
我看到我们将 shellview 的代码放在 ShellViewModel.cs 中,但是当我为 Button 选择事件处理程序时,visual studio 会将我带到 .xaml.cs 而不是 ViewModels/ViewModel。
我是否必须坚持一个或每个文件都有不同的角色/职责? (考虑到我希望我的代码仍然遵循 MVVM 模式)
最佳答案
以 .xaml.cs
结尾的文件是所谓的 View 的“代码隐藏”。此文件中的任何内容都与 View 紧密耦合。
如果你想遵循 MVVM 模式,你将在 ViewModels (.cs 文件
),它们独立于 View 。
View 和 ViewModel 之间的唯一联系是 ViewModel 是 View 的 DataContext
。换句话说,View 知道 ViewModel,但 ViewModel 对 View 一无所知。
事件处理程序通常不用于 MVVM 世界。您需要使用命令。但那是另一个问题/答案。
要牢记的重要一点是,MVVM 主要解决两件事:关注点分离(UI 与 UI 逻辑)和软件的可测试性。
关于c# - .xaml.cs 和 ViewModels/ViewModel.cs 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57501934/