关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭1年前。Improvethisquestion我正在开发WPFMVVM应用程序,其中我有2个ViewView1和View2及其各自的ViewModel。现在,我想单击View1中的按钮将关闭View1并使用ViewModel1打开View2。此外,我想在从ViewModel1打开时将一些数据(例如person类的实例)传递给ViewModel2,这将用于在View2中显示信息。仅在ViewModels中实现此目的的最佳且可能是最简单的
我有一个非常简单的问题,但我不知道如何使用MVVM破解它。我有一个ListBox绑定(bind)到ObservableCollection.我运行一个进程,将一大堆项目添加到集合中,因此它们显示在ListBox中。.问题是当项目被添加到列表框时...滚动条只是增长,但我似乎无法弄清楚如何制作它ScrollIntoView对于添加到集合中的每个项目。此示例代码完美地说明了问题。XAML查看模型namespaceStack{usingSystem;usingSystem.Collections.ObjectModel;usingSystem.ComponentModel;usingSyst
我试图了解在调用更新我的ViewModel的异步方法时使用什么是最佳方法。现在,假设我有这样的事情:查看:privateasyncvoidNavigationHelper_LoadState(objectsender,LoadStateEventArgse){//CallmyViewModelmethodtoupdatethedatatheUIisboundto}View模型:publicasyncTaskloadData(){this.Source=awaitloadStuffFromDatabaseAsync();}现在,我不确定应该使用以下哪一种方法:1)在我的LoadState
我正在寻找一个示例,它以最简单的方式演示以下内容:调用基于SOAP的网络服务的模型;定期轮询以获取最新值(假设SOAP服务返回一个bool值)。该模型还应该支持调用SOAP方法来更改服务器上的bool值。一个ViewModel,它使底层bool值能够绑定(bind)到View中的控件(例如复选框)。上面的复选框控件绑定(bind)到底层bool值的View。根据轮询间隔,复选框将随着服务器状态的变化而更新。如果单击该复选框,事件将被分派(dispatch)到导致服务器更新的模型。最佳情况下,此示例将在WindowsPhone7上运行,但在紧要关头,我会对支持SL3的东西感到满意(不允许
我正在用wpf开发一个产品(使用MVVM模式)。根据用户的自定义(用户将选择列),我必须将一组数据显示到数据网格中。目前,我正在将具有一组属性的ObservableCollection绑定(bind)到数据网格的ItemSource。这将我限制为固定的列大小。注意:列出n个列名供用户选择。如果它在后面的代码中完成,则通过“datagrid.columns.add()”很容易。在这种情况下,任何人都可以帮助我吗。我的xaml:我的命令类:publicstaticclassDataGridExtension{publicstaticObservableCollectionGetColumn
我想知道你们中是否有人知道一些很好的教程来解释大型应用程序的MVVM。我发现关于MVVM的每个教程都只是基础知识解释(如何实现模型、View模型和View),但我对在应用程序页面之间传递数据、在哪里初始化View模型、在哪里存储常见应用程序的技术和模式感到好奇数据(在多个View模型之间共享)等。我更喜欢没有任何MVVM框架(MVVMLight等)的纯c#/XAML解决方案。 最佳答案 techniquesandpatternswhenitcomestopassingdatabetweenapplicationpages如果数据传递
我想知道这是否会破坏MVVM模式,如果会,为什么会如此糟糕?WPF:代码隐藏:privatevoidButton_Click(objectsender,RoutedEventArgse){ViewModel.CallMethod();}查看模型:publicvoidCallMethod(){//Somecode}恕我直言,它使后台代码非常简单,View模型仍然不知道View和后台代码,并且对View的更改不会影响业务逻辑。在我看来,它比Commands或CallMethodAction更简单明了。我不想要那种“这不是应该怎么做”的回答。我需要一个适当且合乎逻辑的理由来说明为什么这样做会
我不是MVVM模式的常客,这基本上是我第一次使用它。我过去所做的(“普通”WPF)是使用业务层和数据层(通常包含由服务或EntityFramework创建的实体)创建我的View。现在经过一番尝试后,我从MVVMLight创建了一个标准模板并执行了以下操作:定位器:publicclassViewModelLocator{staticViewModelLocator(){ServiceLocator.SetLocatorProvider(()=>SimpleIoc.Default);if(ViewModelBase.IsInDesignModeStatic){SimpleIoc.Defa
我正在尝试使用SimpleInjector创建我的存储库并在业务逻辑层中使用它(我也想使用PerWebRequest方法)。在DAL层我有:publicinterfaceIRepositorywhereT:class{voidAdd(Tentity);voidDelete(Tentity);voidDelete(intid);voidUpdate(Tentity);TGetById(intId);IQueryableAll();IEnumerableFind(Funcpredicate);}和:publicclassEFRepository:IRepository,IDisposabl
该问题已被问过几次,不幸的是答案仅适用于WPF。任何人都知道如何在silverlight中完成此操作?基本上我需要关注代码中的某个文本框。 最佳答案 我已经成功地使用了这种方法http://caliburnmicro.codeplex.com/discussions/222892?ProjectName=caliburnmicropublicclassFocusBehavior:Behavior{protectedoverridevoidOnAttached(){AssociatedObject.GotFocus+=(sender,