gpt4 book ai didi

c# - 可移植类库中的 WPF MVVM 编程

转载 作者:行者123 更新时间:2023-11-30 14:52:16 24 4
gpt4 key购买 nike

最近我正在开发一个新的 c# 项目,使用 .NET 平台的 WPFMVVM 相关功能和工具。我对这种类型的应用程序开发完全陌生。在我开始学习 ICommandINotifyPropertyChanged 之类的东西之后,我注意到,当我深入研究这些类和命名空间 System.Windows.Input 我实际上正在远离可移植性。

在我坚持使用 MVVM 之前,我曾经为我的应用程序的业务层创建一个可移植类库。

PresentationCore.dll 中的这些 MVVM 类是否在 Xamarin android 和 iOS 和 mac 等其他平台中得到很好的支持?如果我在可移植类库中使用 ICommandCommandManager 和其他类,我是否也可以在其他提到的平台中使用已实现的库?

远离便携性是什么意思?

例如,假设我们要开发一个应该可移植到 windows 和 android 平台的应用程序。当我实现 ICommand 时,我只能将命令与 WPF 控件一起使用,尽管我可以轻松地在 xamarin android 应用程序中的按钮的单击事件处理程序中调用该方法。因此,在此示例中,ICommand 在 Xamarin Android 应用程序中无用。

您能否指导我在可移植类库中编写 MVVM 时应该考虑什么? MVVMPCL 有什么共同点?当他们的概念和功能彼此不安时?

最佳答案

简短回答:可移植性不是 WPF 的主要设计目标之一。来自 the MSDN site :“Windows Presentation Foundation (WPF) 的主要目标是帮助开发人员创建有吸引力且有效的用户界面”。更具体地说,它是为了帮助开发人员为 Windows 创建用户界面,因此是 W。考虑到 View 模型和 View 之间松散但严重隐含的耦合,这意味着 IMO 的可移植性最佳选择是在您的模型中,可能还有您的 ORM。只要您遵守良好的 SOC 实践,这可能是您在不依赖第 3 方解决方案的情况下获得的最佳实践……这通常会进一步降低可移植性,同时在其他地方增加很多麻烦。

关于c# - 可移植类库中的 WPF MVVM 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32064384/

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