/// <summary> /// Clears and disposes existing view models /// </summary> private void ResetViewModels() { if (ViewModels != null) { // Cleanup foreach (var item in ViewModels) { // Remove handlers first if (item is ISavable) { (item as ISavable).FileSaved -= File_OnSaved; } if (item is INotifyModified) { (item as INotifyModified).Modified -= File_OnSaved; } item.MenuItemRefreshRequested -= OnMenuItemRefreshRequested; // Dispose of view models if applicable (item as IDisposable)?.Dispose(); } // Reset ViewModels.Clear(); ViewModels = null; } }
protected virtual void HandleModelsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (editing) { return; } editing = true; switch (e.Action) { case NotifyCollectionChangedAction.Add: AddViewModels(e.NewStartingIndex, e.NewItems.OfType <TModel> ()); break; case NotifyCollectionChangedAction.Remove: ViewModels.RemoveRange(e.OldItems.OfType <TModel> ().Select((arg) => modelToViewModel [arg])); foreach (TModel model in e.OldItems) { modelToViewModel.Remove(model); } break; case NotifyCollectionChangedAction.Replace: case NotifyCollectionChangedAction.Reset: ViewModels.Clear(); AddViewModels(0, Model); break; } editing = false; }
/// <inheritdoc /> public void Clear() { ViewModels.Clear(); EncapsulatedList.Clear(); OnAllPropertiesChanged(); CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset)); ClearItemCsommand.OnCanExecuteChanged(); RemoveItemCommand.OnCanExecuteChanged(); }
private void ImplementMVVM() { ImplementFiles(); MessageBox.Show("MVVM Implementated successful!", "Success!", MessageBoxButton.OK, MessageBoxImage.Information); Models.Clear(); ViewModels.Clear(); Views.Clear(); }
/// <inheritdoc cref="LoadCommand"/> public void Load() { IsBusy = true; ViewModels.Clear(); NavigationStack.Clear(); var root = CreateNavigationItem(_vmManager.RootViewModel); SetAsCurrentVM(root.ViewModelInfo); IsBusy = false; }
public static async Task ResetViewModels() { await Task.Run(async() => { await FileStore.DeleteAsync(AppData.VMDictionary); var keys = ViewModels.Keys.ToArray(); foreach (var key in keys) { ViewModels[key].Dispose(); } ViewModels.Clear(); }); }
protected override void DisposeManagedResources() { ViewModels.IgnoreEvents = true; Selection.IgnoreEvents = true; base.DisposeManagedResources(); if (ViewModels != null && ViewModels.Any()) { foreach (var viewModel in ViewModels) { viewModel.Dispose(); } ViewModels.Clear(); } ViewModels = null; Selection.Clear(); }
private void SetAsCurrentVM(ViewModelInfo arg) { ViewModels.Clear(); NavigationStack.Clear(); CurrentViewModel = arg; ViewModels.Fill(arg.ChildViewModels.Select(CreateNavigationItem)); var item = arg; while (item != null) { NavigationStack.Insert(0, CreateNavigationItem(item)); item = item.ParentViewModel; } _mainpulator.SetViewModel(arg); }
protected virtual void SetModel(RangeObservableCollection <TModel> model) { if (ViewModels != null) { ViewModels.CollectionChanged -= HandleViewModelsCollectionChanged; ViewModels.Clear(); } if (this.model != null) { this.model.CollectionChanged -= HandleModelsCollectionChanged; } modelToViewModel = new Dictionary <TModel, TViewModel> (); this.model = model; if (Disposed || model == null) { return; } AddViewModels(0, this.model); ViewModels.CollectionChanged += HandleViewModelsCollectionChanged; this.model.CollectionChanged += HandleModelsCollectionChanged; }
private void SelectProject() { OpenFileDialog openFileDialog = new OpenFileDialog { Filter = "Visual studio solution file(*.sln*)|*.sln", Title = "Select your Visual Studio project", Multiselect = false }; if (openFileDialog.ShowDialog() == true) { slnPath = openFileDialog.FileName; } Models.Clear(); Views.Clear(); ViewModels.Clear(); OnPropertyChanged("IsAddNewFilesEnabled"); OnPropertyChanged("CurrentProject"); }
public void Clear() { View.Clear(); ViewModels.Clear(); }
void IStrategy.Clear() { OnClearing(); ViewModels.Clear(); OnClear(); }
void IStrategy.Clear() { ViewModels.Clear(); OnClear(); }
public void Clear() { ViewModels.Clear(); PersitantViewModels.Clear(); }