草庐IT

ViewModel

全部标签

c# - 在viewmodel的构造函数中调用async方法加载数据有警告

我的View包含一个ListView,它显示来自互联网的一些数据,我创建了一个异步方法来加载数据并在我的View模型的构造函数中调用该方法。它有一个警告提示我现在使用await关键字。在构造函数中异步加载数据的任何其他解决方案? 最佳答案 有几个模式可以应用,所有这些都在StephanCleary的帖子中提到过。但是,让我提出一些不同的建议:由于您在WPF应用程序中,我会使用FrameworkElement.Loaded事件并将其绑定(bind)到ViewModel中的ICommand。有界命令将是AwaitableDelegate

c# - 为什么 ICommand 比调用 VM 的代码更好?

我有一个同事问我为什么他必须使用ICommand模式。他想添加一个按钮,然后在后面的代码中为它创建一个事件。然后从事件中他想调用ViewModel上的方法。我给了他一个明显的答案:这增加了View和ViewModel之间的耦合。但他认为View和ViewModel已经耦合。(我们在View后面的代码中将View的DataContext设置为ViewModel:DataContext=newMyViewModel();是的,我告诉他他的方式增加了“更多的耦合”,但即使对我来说听起来也有点蹩脚。所以,我知道ICommand是最干净的方式,我就是这样做的。但是除了不使用现有的耦合器之外,IC

c# - View 是否应该间接绑定(bind)到 MVVM 模型中的属性?

假设我有一个View。它的DataContext绑定(bind)到ViewModel并且ViewModel公开了一个Model属性。MVVM是否喜欢将View中的字段绑定(bind)到Model中的属性(例如BindingPath=Model.FirstName)?Model是否应该实现INotifyPropertyChanged?我的团队在WPF中使用Prism和MVVM。许多Prism示例间接绑定(bind)到Model。我个人怀疑这是正确的方法。我认为模型中的内容应该公开行为(不仅仅是在属性级别)并且应该通过,呃,events来传达重要事件-客户可以订阅或不订阅.我认为通过让域/

c# - CompositeCollection + CollectionContainer : Bind CollectionContainer. 集合到用作 DataTemplates DataType 的 ViewModel 的属性

我没有获得正确的绑定(bind)语法来访问DateTemplate中MyViewModel的Cats和Dogs属性>在其资源中定义了一个CompositeCollection。publicclassMyViewModel{publicObservableCollectionCats{get;privateset;}publicObservableCollectionDogs{get;privateset;}}我必须插入什么????将Dogs和Cats集合绑定(bind)到CollectionContainer? 最佳答案 由于Col

c# - AutoMapper:为什么 UseValue 只执行一次

为什么UseValue只执行一次?我需要为每个请求调用TeamRepository。我怎样才能做到这一点?从TeamEmployee到TeamEmployeeInput的映射:CreateMap().ForMember(x=>x.Teams,x=>x.UseValue(GetTeamEmployeeInputs())).ForMember(d=>d.SelectedTeam,s=>s.MapFrom(x=>x.Team==null?0:x.Team.Id));privateIEnumerableGetTeamEmployeeInputs(){Team[]teams=CreateDepe

c# - 测试 ASP.NET MVC View 模型

我正在使用Nunit和Moq来测试我的asp.netmvc解决方案。这是测试传递给View的模型是否是正确对象/集合的好方法吗?[Test]publicvoidStart_Page_Should_Display_Posts(){varposts=newList{newPost{Id=1},newPost{Id=2}};varmock=newMock();mock.Setup(x=>x.FindAll()).Returns(posts.AsQueryable());varcontroller=newPostsController(mock.Object);varresult=contro

c# - WPF MVVM : Binding a different ViewModel to each TabItem?

我有一个带有选项卡控件的主窗口,其中包含2个tabItem:我目前有1个ViewModel为Tab1和Tab2提供服务。此ViewModel因SOC模糊而变得有点臃肿。我想将逻辑拆分为2个View模型:ViewModel1和ViewModel2。我的理解是,您可以将主窗口DataContext设置为包含ViewModel集合的BaseViewModel,然后您可以将每个TabItem声明为不同的ViewModel。我看到的这些基本ViewModel的示例公开了一个ObservableCOllection,如下所示:privateObservableCollection_viewMode

c# - 与 ViewModel 绑定(bind)的 MVVM 动态菜单 UI

我正在与一个团队合作处理LoB应用程序。我们想要一个动态的Menu控件,它根据登录的用户配置文件创建菜单。在以前的开发场景(即ASP.NET)中,我们使用迭代描述集合的数据并动态生成MenuItem。在MVVM中我该怎么做?我可以将XAMLView与描述菜单元素的ViewModel分开吗?解决方案:通过评论员的输入,我能够将Menu与来自ViewModel的数据动态绑定(bind)。这article也有很大的帮助。XAML:[...]菜单数据类:publicclassMenu:ViewModelBase{publicMenu(){IsEnabled=true;Children=newL

c# - 在 ASP.NET MVC 中的 ViewModel 类上使用 Bind 属性

为什么开发人员可能会在ASP.NETMVC项目中对ViewModel对象使用Bind属性,这会对应用程序产生不利影响吗?[Bind(Include="Id,Name")][MetadataType(typeof(MyViewModelValidation))]publicclassMyViewModel{publicstringCustomerProductUserName{get;set;}[Display(Name="Name")]publicstringName{get;set;}}publicclassMyViewModelValidation{[HiddenInput(Dis

c# - 如何在不在 wpf 中引入新引用的情况下从 View 模型 (.cs) 调用窗口 (.xaml.cs) 中的方法

我正在寻找一种在我的主窗口中调用方法的简单方法,但我想从我的View模型中调用它。基本上,我正在寻找某种“this.parent”之王,将其放入View模型中以引用主窗口。或者,如果您想了解我想要这样做的原因并告诉我另一种解决问题的方法:我正在使用一个不断获取信息的应用程序。在View模型中,信息被处理。我想在每次有满足某种条件的信息进来时发出通知。最初,我在View模型中有一个字典,用于存储有关该信息的信息,我在MainWindow中访问该字典,以便我可以使窗口闪烁并发送其他通知。但是当我在MainWindow中访问它时,我遇到了viewmodel的字典不断变化的问题。如果这个问题听