草庐IT

c# - MVVM 同步集合

在C#和WPF中,是否有一种标准化的方法可以将Model对象的集合与匹配的ModelView对象的集契约(Contract)步?我正在寻找某种可以使以下两个集合保持同步的类,假设我只有几个苹果并且我可以将它们全部保存在内存中。换一种说法,我想确保如果我将Apple添加到Apples集合,我想将AppleModelView添加到AppleModelViews集合。我可以通过监听每个集合的CollectionChanged事件来编写自己的。这似乎是一个比我聪明的人定义了“正确方法”的常见场景。publicclassBasketModel{publicObservableCollection

c# - WPF-MVVM : Setting UI control focus from ViewModel

在MVVM架构中设置控制焦点的最佳做法是什么。我设想的方式是在ViewModel上使用一个属性,该属性会在需要时触发焦点更改。而不是让UI控件绑定(bind)/监听该属性,以便在它发生变化时设置适当的焦点。我将其视为ViewModel事物,因为我想在ViewModel执行特定操作(例如加载特定数据)后适当设置焦点。最佳做法是什么? 最佳答案 按照此处答案中的建议使用IsFocused附加属性:SetfocusontextboxinWPFfromviewmodel(C#)然后您可以简单地绑定(bind)到View模型中的属性。

c# - MVVM Light RelayCommand 参数

我在使用GalaSoftMVVMLight框架将参数传递给中继命令时遇到问题。我知道mvvmlight的relaycommand实现不使用lambda参数,所以我做了一些研究并找到了人们通过做这样的事情来解决它的方法:publicRelayCommandProjMenuItem_Edit{get{if(_projmenuItem_Edit==null){//Thisshouldwork...._projmenuItem_Edit=newRelayCommand(ProjEditNode);}return_projmenuItem_Edit;}}privatevoidProjEditNo

c# - MVVM 疯狂 : Commands

我喜欢MVVM。我不喜欢它,但喜欢它。其中大部分是有道理的。但是,我一直在阅读鼓励您编写大量代码的文章,这样您就可以编写XAML而不必在代码隐藏中编写任何代码。我举个例子。最近我想将我的ViewModel中的命令连接到ListViewMouseDoubleClickEvent。我不太确定该怎么做。幸运的是,谷歌对所有问题都有答案。我找到了以下文章:http://blog.functionalfun.net/2008/09/hooking-up-commands-to-events-in-wpf.htmlhttp://joyfulwpf.blogspot.com/2009/05/mvvm

c# - 如何处理 WPF/MVVM 应用程序中的依赖注入(inject)

我正在启动一个新的桌面应用程序,我想使用MVVM和WPF构建它。我也打算使用TDD。问题是我不知道我应该如何使用IoC容器将我的依赖项注入(inject)到我的生产代码中。假设我有以下类和接口(interface):publicinterfaceIStorage{boolSaveFile(stringcontent);}publicclassStorage:IStorage{publicboolSaveFile(stringcontent){//SavesthefileusingStreamWriter}}然后我有另一个类将IStorage作为依赖项,还假设这个类是ViewModel或

c# - 使用 WPF/MVVM Light Toolkit 处理窗口关闭事件

我想处理我窗口的Closing事件(当用户单击右上角的“X”按钮时),以便最终显示确认消息或/和取消关闭。我知道如何在代码隐藏中执行此操作:订阅窗口的Closing事件,然后使用CancelEventArgs.Cancel属性。但我正在使用MVVM,所以我不确定这是好的方法。我认为好的方法是将Closing事件绑定(bind)到我的ViewModel中的Command。我试过了:在我的ViewModel中有关联的RelayCommand但它不起作用(命令的代码未执行)。 最佳答案 我会简单地将处理程序关联到View构造函数中:MyW

c# - 在 MVVM 中,ViewModel 或 Model 应该实现 INotifyPropertyChanged 吗?

我处理过的大多数MVVM示例都有Model实现INotifyPropertyChanged,但在JoshSmith'sCommandSinkexample中ViewModel实现了INotifyPropertyChanged。我仍然在认知上将MVVM概念放在一起,所以我不知道是否:您必须将INotifyPropertyChanged放入ViewModel才能使CommandSink工作这只是常态的偏差,这并不重要您应该始终让模型实现INotifyPropertyChanged,这只是一个错误,如果将其从代码示例开发为应用程序,将会得到纠正在您从事的MVVM项目中,其他人有哪些经验?

c# - MVC、MVP 和 MVVM 设计模式在编码 c# 方面有什么区别

如果我们使用短语“MVC、MVP和MVVM设计模式之间的差异”来搜索Google,那么我们可能会得到一些讨论thedifferencebetweenMVCMVP&MVVMdesignpatterntheoreticallylike的URL。:MVP在无法通过“dataContext”进行绑定(bind)的情况下使用。Windows窗体就是一个很好的例子。为了将View与模型分开,需要一个演示器。由于View不能直接绑定(bind)到呈现器,因此必须通过接口(interface)(IView)将信息传递给View。MVVM在可以通过“dataContext”进行绑定(bind)的情况下使

android - 如何将 Android MVVM 模式与 fragment 一起使用?

首先我请求为我的英语不好向你道歉。我开发JavaSE软件很多年了,我曾经使用过MVC设计模式。现在我开发android应用程序,我对说android已经使用MVC模式的说法不满意,xml文件充当View。我在网上做了很多研究,但似乎对这个话题并没有一致意见。有些使用MVC模式,有些使用MVP模式,但我个人认为,没有一致意见。最近我买了一本书(AndroidBestPractices,fromGodfreyNolan,OnurCinarandDavidTruxall),在第二章,你可以找到MVC、MVVM和依赖注入(inject)模式的解释。在尝试了所有这些之后,我认为对于我的应用程序和

安卓 MVVM : Where to put adapters?

我正在构建一个遵循MVVM架构的Android应用。适配器(对于recyclerView、viewPager等)属于哪里?adapters属于View还是ViewModel? 最佳答案 Adapter属于View,但Adapter的数据源属于ViewModel。 关于安卓MVVM:Wheretoputadapters?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4657899