gpt4 book ai didi

wpf - MVVM 中的 ViewModel 是否应该引用 View?

转载 作者:行者123 更新时间:2023-12-03 23:23:55 26 4
gpt4 key购买 nike

在 MVVM (Model-View-ViewModel) 模式中,ViewModel 应该引用 View 。我认为它不应该。但是下面的场景应该如何处理呢?我有一个 View ,它有一个选项卡控件作为主容器,该 View 的 View 模型实现了一个命令来向选项卡控件添加一个新选项卡。简单的方法是允许 View 模型引用 View ,然后在命令实现中以编程方式将新选项卡添加到 View 中的选项卡控件。这似乎是错误的。我是否应该以某种方式将 tabcontrol 绑定(bind)到 viewmodel,然后实现一个数据/控件模板来添加新选项卡。我希望这对某人有某种意义:)

最佳答案

我发现在处理 View 特定功能的 View 上公开一个接口(interface)通常是一个有用的折衷方案。这是处理纯绑定(bind)难以完成的事情的好方法,例如指示表单关闭、打开文件对话框(尽管这通常放在它自己的服务接口(interface)中)或与不适合数据的控件交互绑定(bind)(例如您提供的示例。)

使用接口(interface)仍然使 View 和 ViewModel 在很大程度上解耦,并使您能够在测试期间模拟特定的 IView。

关于wpf - MVVM 中的 ViewModel 是否应该引用 View?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3670629/

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