public void RegisterChildViewModel(ControlViewModelBase controlViewModelBase, ViewModelProviderAction viewModelProviderAction) { if (controlViewModelBase != null) { ChildrenViewModels.Add(controlViewModelBase, viewModelProviderAction); if (((viewModelProviderAction & ViewModelProviderAction.IsReadOnlyChanged) == ViewModelProviderAction.IsReadOnlyChanged) || ((viewModelProviderAction & ViewModelProviderAction.EditingModeChanged) == ViewModelProviderAction.EditingModeChanged)) { controlViewModelBase.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(controlViewModelBase_PropertyChanged); } if ((viewModelProviderAction & ViewModelProviderAction.RefreshInvoked) == ViewModelProviderAction.RefreshInvoked) { controlViewModelBase.Refreshed += new EventHandler(controlViewModelBase_Refreshed); } if (controlViewModelBase is IEditableControlViewModel && ((viewModelProviderAction & ViewModelProviderAction.SaveInvoked) == ViewModelProviderAction.SaveInvoked)) { ((IEditableControlViewModel)controlViewModelBase).ItemSaved += new EventHandler(ViewModelProvider_ItemSaved); } if (controlViewModelBase is IListingEditableControlViewModel && ((viewModelProviderAction & ViewModelProviderAction.DeleteInvoked) == ViewModelProviderAction.DeleteInvoked)) { ((IListingEditableControlViewModel)controlViewModelBase).ItemDeletedFlagChanged += new EventHandler(ViewModelProvider_ItemDeleted); } } }
public void RegisterChildViewModel(ControlViewModelBase controlViewModelBase) { RegisterChildViewModel(controlViewModelBase, ViewModelProviderAction.IsReadOnlyChanged | ViewModelProviderAction.EditingModeChanged | ViewModelProviderAction.RefreshInvoked); }
public ViewModelProvider(ControlViewModelBase parentViewModel) { ParentViewModel = parentViewModel; ChildrenViewModels = new Dictionary<ControlViewModelBase, ViewModelProviderAction>(); }
public ViewModelProviderActionEventArgs(ControlViewModelBase viewModel) { ViewModel = viewModel; }
private void OnChildrenViewModelSaveInvoked(ControlViewModelBase viewModel) { if (ChildrenViewModelSaveInvoked != null && viewModel != null) { ChildrenViewModelSaveInvoked(this, new ViewModelProviderActionEventArgs(viewModel)); } }
private void OnChildrenViewModelIsReadOnlyChanged(ControlViewModelBase viewModel) { if (ChildrenViewModelIsReadOnlyChanged != null && viewModel != null) { ChildrenViewModelIsReadOnlyChanged(this, new ViewModelProviderActionEventArgs(viewModel)); } }