gpt4 book ai didi

c# - .xaml.cs 和 ViewModels/ViewModel.cs 有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:29 25 4
gpt4 key购买 nike

我一直在关注使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com