草庐IT

WPF真入门教程23--MVVM简单介绍

      在WPF开发中,经典的编程模式是MVVM,是为WPF量身定做的模式,该模式充分利用了WPF的数据绑定机制,最大限度地降低了Xmal文件和CS文件的耦合度,也就是UI显示和逻辑代码的耦合度,如需要更换界面时,逻辑代码修改很少,甚至不用修改。与WinForm开发相比,我们一般在后置代码中会使用控件的名字来操作控件的属性来更新UI,而在WPF中通常是通过数据绑定来更新UI;在响应用户操作上,WinForm是通过控件的事件来处理,而WPF可以使用命令绑定的方式来处理,耦合度将降低,WPF技术的主要特点是数据驱动UI,所以在使用WPF技术开发的过程中是以数据为核心的,WPF提供了数据绑定机制

Android:listView Adapter 应该是您的 ViewModel 类的一部分吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我正在开发Android应用程序并尝试遵循MVVM设计模式。我有一个listView,问题是Adapter是否应该是ViewModel类的一部分?使用MVVM设计模式构建此结构的最佳方式是什么?

Android ViewModel 没有零参数构造函数

我正在关注this了解LiveData和ViewModel的文档。在文档中,ViewModel类具有这样的构造函数,publicclassUserModelextendsViewModel{privateMutableLiveDatauser;@InjectUserModel(MutableLiveDatauser){this.user=user;}publicvoidinit(){if(this.user!=null){return;}this.user=newMutableLiveData();}publicMutableLiveDatagetUser(){returnuser;}

android - 如何在 MVVM 中使用 ProgessDialog 显示进度

我使用MVVM编写了一个Android应用程序,我在其中从ViewModel调用webservice并将结果存储在RoomDB中。在View中,我正在观察ViewModel的实时数据。我需要在使用Retrofit从Web服务获取数据时显示ProgressDialog。我需要在哪里编写代码来显示progressdialog因为我不应该在除View组件之外的其他架构组件中使用userinterface小部件?谁能帮我处理这种情况?提前致谢。 最佳答案 是的,您可以通过从Activity调用对话框并在View模型观察器中隐藏对话框来实现。

android - 为 fragment 再次创建 ViewModel

我在MainFragment中创建View模型:@OverridepublicvoidonActivityCreated(@NullableBundlesavedInstanceState){super.onActivityCreated(savedInstanceState);...MainViewModelmainViewModel=ViewModelProviders.of(this).get(MainViewModel.class);...}当用户选择项目然后导航到详细信息fragment时,此事务将添加到后台堆栈。getFragmentManager().beginTrans

Android MVVM - 如何让 LiveData 发出它拥有的数据(强制触发观察者)

我有一个从网络获取列表的ViewModel,我用数据填充了一个RecyclerView(MyAvailabilityRepository返回一个MutableLiveData,这就是我使用Transformations.switchMap的原因):classMyAvailabilityViewModel:ViewModel(){privatevalgetListsParams=MutableLiveData()privatevalgetListsObservable=Transformations.switchMap(getListsParams){organizationId->My

android - 最佳实践 MVVM 将数据从一个 Activity 传递到另一个 Activity

将数据从一项Activity(主)传递到另一项Activity(细节)的当前最佳实践是什么。一种可能的方法是拥有一个在主视图和细节View之间共享的View模型类。单击主Activity中的项目时,所选条目将设置为View模型。详细Activity,因此可以读取所选条目,因为它使用相同的View模型。将所选对象的行ID作为bundle-extra从master-activity传递到detailActivity。详细信息Activity使用ViewModelProviders加载它的View模型,然后将row-id传递给加载实际记录的View模型。在启动详细Activity之前初始化V

android - 什么时候使用 Android 的 LiveData 和 Observable 字段?

我正在实现MVVM和数据绑定(bind),我想了解什么时候应该在LiveData上使用Observable字段?我已经浏览了不同的文档并发现LiveData是生命周期感知的,但在Github的示例代码中,这两者同时在ViewModel中使用。所以,如果LiveData比Observable字段更好,我很困惑,为什么不直接使用LiveData? 最佳答案 两者都有各自的用例,例如:如果您想要为您的UI状态模型提供一个生命周期容错容器,LiveData就是答案。如果您希望在View模型中的某个逻辑发生更改时让UI自行更新,请使用Obse

android - MVVM (Android) 中的文件结构

使用MVVM或MVP我应该命名模型、View模型、View等包并将适当的类和接口(interface)放在那里,还是它只是一个不应在类结构中可见的逻辑结构? 最佳答案 如果您想照章办事,当前在Android中实现MVVM的“正确”方法是Android架构组件库集。阅读更多相关信息here,然后尝试thiscodelab.这些还将向您展示如何命名和放置您的类。但一般来说,您应该选择最适合您的应用的内容。对于较小的应用程序,我会建议使用MVP文件夹,而对于更大、更长期的应用程序,倾向于使用每个功能的文件夹结构更好。

【杂谈】“CommunityToolkit.Mvvm无法自动生成Get/Set属性对”的解决方案

最近在实践MVVM,发现这玩意儿挺有意思的,有点WPF的最佳搭档的感觉。UI自动跟随VM变化,极大程度上简化各类逻辑。UI元素的各种属性也会实时反馈到VM上,直接在VM处理事务逻辑即可。但是MVVM在WPF上应用,最烦的就是要自己写一大堆Get/Set,以及匹配INotifyPropertyChanged的调用。虽然VisualStudio里有对应的codesnippet:propfull来完成快速完成这个事情,但是仍然要手动补全OnPropertyChanged()的调用,而且也要打很多字,十分不方便。然后嘛,这种事情肯定早就有人造了轮子解决了。网上一搜,CommunityToolkit.M