Mercurial > silverbladetech
view SilverlightValidation/SilverlightValidation.PL/ViewModels/UserListViewModel.cs @ 114:e51a6af1c98d
working version
author | adminsh@apollo |
---|---|
date | Sat, 19 May 2012 16:53:34 +0100 |
parents | 188f8b366e87 |
children |
line wrap: on
line source
using System.Collections.Generic; using System.Collections.ObjectModel; using System.Windows.Controls; using System.Windows.Input; using SilverlightValidation.Commands; using SilverlightValidation.Models; using SilverlightValidation.Validators; using GalaSoft.MvvmLight.Messaging; using SilverlightValidation.Messages; namespace SilverlightValidation.ViewModels { public class UserListViewModel { private ChildWindow _window; public UserListViewModel(ChildWindow window, IList<UserModel> models, UserModelValidator validator) { _window = window; Data = new ObservableCollection<UserViewModel>(); foreach (var model in models) Data.Add(new UserViewModel(model, validator)); AddCommand = new RelayCommand(AddCommandExecute); DeleteCommand = new RelayCommand(DeleteCommandExecute); Messenger.Default.Register<UserViewResponseMessage>(this, UserViewResponseMessageReceived); } private void UserViewResponseMessageReceived(UserViewResponseMessage userViewResponseMessage) { if (userViewResponseMessage.UserViewModel != null) Data.Add(userViewResponseMessage.UserViewModel); _window.Close(); } #region Properties public ObservableCollection<UserViewModel> Data { get; set; } public UserViewModel SelectedItem { get; set; } #endregion #region Commands public ICommand AddCommand { get; set; } public ICommand DeleteCommand { get; set; } private void AddCommandExecute(object obj) { _window.Show(); } private void DeleteCommandExecute(object obj) { if (SelectedItem!=null) Data.Remove(SelectedItem); } #endregion } }