Tag: viewmodel

ObservableCollection CollectionChanged对WPF MVVM没有帮助

我正在使用DataGrid并使用ViewModel中的ObservableCollection进行绑定 private ObservableCollection _stockList; public ObservableCollection StockList { get { return _stockList; } set { _stockList = value; OnPropertyChanged(“StockList”); } } StockItem类包含其属性,它是DataGrid中的列。 DataGrid中有一个名为Amount的列,其值已更改为同一数据网格的Quantity * Price Column。 我在ViewModel中有一个名为TotalAmount的属性,它在ObservableCollection CollectionChanged事件中计算得像 void OnStockListChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { this.TotalAmount = this.StockList.Sum(t => t.Amount); } 当使用某些数据将新行添加到DataGrid时,此值仅在TextBox绑定到TotalAmount时更新。 我希望在数据网格中的数量列更改后立即更新TotalAmount的TextBox。 我怎样才能做到这一点。 StockItem Class public class StockItem : ObservableObject, ISequencedObject { JIMSEntities dbContext = […]

将显示的模式(路径)绑定到数据模型/如何使路径具有相同的尺寸

背景 [随意跳过这个] 我正在建立一个程序来处理马匹,它们的主人和主人的赛车颜色(丝绸)。 这个问题是关于一个名为SilksControl的UserControl ,它充当了JockeySilks的视图。 为了表示丝绸,我使用以下类枚举: public class JockeySilks { public BodyPatterns BodyPattern { get; set; } public Colour BodyColour1 { get; set; } public Colour BodyColour2 { get; set; } public SleevePatterns SleevePattern { get; set; } public Colour SleeveColour1 { get; set; } public Colour SleeveColour2 { get; set; } public CapPatterns CapPattern […]

应该使用MVC在每个View中使用ViewModel吗?

我知道您使用ViewModel来存储要在View中使用的其他模型和源的不同数据,因为模型不会始终保持您想要的。 我想弄清楚是否适合为每个View使用ViewModel。 我问的原因是出于一致性原因。 您可以拥有一个只需要Model本身的View和另一个必须拥有ViewModel的View。 在所有视图之间混合这些是否很好? 或者每个View都应该有一个ViewModel? 这很重要,因为我的模型与数据库直接相关,因为我正在使用Entity Framework 4.1 Code First。

validationASP.Net MVC中视图模型中的嵌套模型

我有一个公司模型的应用程序。 Company模型具有Address模型的导航属性(一对一关系): Company.cs public class Company { public int CompanyID { get; set; } public string Name { get; set; } // Snip… public virtual Address Address { get; set; } } 我创建了一个视图模型来处理编辑,细节和创建操作: CompanyViewModel.cs public class CompanyViewModel { public int CompanyID { get; set; } [Required] [StringLength(75, ErrorMessage = “Company Name cannot exceed 75 characters”)] […]

MVC映射到模型中的可空bool

使用包含该字段的视图模型: public bool? IsDefault { get; set; } 尝试在视图中映射时出错: model.IsDefault) %> 无法隐式转换类型’bool?’ ‘bool’。 存在显式转换(您是否错过了演员?) 我已经尝试过使用.Value并且都没有工作。 请注意我想要的行为是提交表单应该将模型中的IsDefault设置为true或false。 值null仅表示尚未填充模型。

AutoMapper是否也可用作重新形状映射工具

我知道AutoMapper只是映射两个对象之间的属性。 Automapper不是为了重塑数据,我认为这必须编程。 我有一个PeriodDTO.IEnumerable ,需要重新整形为PeriodListViewModel.List 。 每个CellViewModel包含一个List 这不是1比1的映射,我想也许这不应该被映射 – 因为它不可能 – public class PeriodRequest { public IEnumerable Periods { get; set; } public IEnumerable Weeks { get; set; } } public class PeriodListViewModel { public PeriodListViewModel(IEnumerable periods) { CellViewModels = new List(); var groupedPeriods = periods.GroupBy(p => p.LessonNumber).OrderBy(p => p.Key).ToList(); foreach (var groupedPeriod in groupedPeriods) { […]

MVVM创建ViewModel

有人可以向我解释如何为MVVM模式创建一个ViewModel。 我试着理解这里的教程: http : //msdn.microsoft.com/en-us/magazine/dd419663.aspx ,但我无法理解代码中到底发生了什么。 假设我们要创建一个基本应用程序,用于从本地数据库中获取和添加人员,并在视图中显示它们。 ViewModel应该如何以及如何为它创建RelayCommands。 首先,我们为什么要设置两次变量:一次私有,然后再次公开。 编辑:感谢您的帮助到目前为止。 我还有一件我不知道的事情 – 如何将View绑定到ViewModel和Vice Versa 这是模型: public class Student : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private void OnPropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } private string name; private string surname; private string age; public string Name { get { […]

Automapper:如何不重复从复杂类型到基类的映射配置

我有一堆inheritance自这个CardBase的DTO类: // base class public class CardBase { public int TransId {get; set; } public string UserId { get; set; } public int Shift { get; set; } } // one of the concrete classes public class SetNewCardSettings : CardBase { // specific properties … } 在我的MVC项目中,我有一堆具有AuditVm复杂类型的视图模型,它具有与CardBase相同的属性: public class AuditVm { public int TransId {get; […]

ASP.net MVC – 用于POST操作的单独ViewModel

在我的MVC应用程序中,我有一个看起来与此类似的View Model: public class ComplexViewModel { public ComplexDetailsViewModel Details1 { get; set; } public ComplexDetailsViewModel Details2 { get; set; } } public class ComplexDetailsViewModel { public int Id { get; set; } public string DisplayValue1 { get; set; } public string DisplayValue2 { get; set; } // … } 我原本在以下视图中执行以下操作: @Html.HiddenFor(model => model.Details1.Id) @Html.HiddenFor(model => […]

有没有办法重用数据注释?

有没有办法在ASP.Net MVC 4中的视图中用作模型的类内部实现数据域(在属性级别)的概念? 考虑以下代码: public class LoginProfileModel { [DisplayName(“Login ID”)] [Required(ErrorMessage = “Login ID is required.”)] public string LogonID { get; set; } [DisplayName(“Password”)] [Required(ErrorMessage = “Password cannot be blank.”)] [StringLength(20, MinimumLength = 3)] [DataType(DataType.Password)] public string Password { get; set; } } 这是ASP.Net MVC 4中的LoginProfileModel。它使用各种元数据/数据注释,以便我可以使用以下代码创建一个干净的视图: @model myWebSite.Areas.People.Models.LoginProfileModel @using ( Html.BeginForm( “Index” , “Login” ) […]