gpt4 book ai didi

wpf - MVVM - 与 WPF 命令绑定(bind)标准有关

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

我认为我对 MVVM 设计模型有很好的理解,但是我对 WPF、命令绑定(bind)以及我们应该如何使用它们有意见。

要将命令直接绑定(bind)到 XAML,我们需要在 ViewModel 中实现 ICommand 接口(interface)。现在,ICommand 接口(interface)是 PresentationCore.DLL 的一部分,如果我错了,请纠正我是 WPF 的一部分,而不是基本的 .NET 框架。

ViewModel 和 Model 的全部意义不在于它应该完全独立于 UI 吗?例如,如果我在 ViewModel 中实现 ICommand 并将其用作数据上下文以绑定(bind)来自 XAML 的命令,那么我的 ViewModel 是否依赖于 WPF 框架(特别是 PresentationCore.Dll)。

我的意思是,如果我要尝试在 Windows 窗体环境中使用我的模型和 View 模型,我将不得不引用 PresentationCore.DLL,即使我不应该需要它,因为我使用的是 Windows 窗体而不是 WPF 框架.

这对我来说似乎有点奇怪,我在这里错过了什么吗?是否有另一种方法可以让我的模型和 View 模型完全独立于 UI 和 UI 框架,但仍然能够在 XAML 中使用命令绑定(bind)?

提前致谢!

最佳答案

我也遇到过这种问题,但不是在 wpf 中,而是在 POCO 类(class)中。我所做的是在两个不同的程序集中创建了两个部分类。就像您在 VM 项目中创建一个不依赖于 presentationcore.dll 的部分类,并在另一个实现 ICommand 内容的程序集(例如 WPFVM)中创建其部分类。现在,对于 Winforms 的东西,只将 VM 项目引用添加到 View 项目,对于 WPF 的东西,将 VM 和 WPFVM 的引用添加到 View 项目。我希望这将有所帮助。

关于wpf - MVVM - 与 WPF 命令绑定(bind)标准有关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11481437/

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