Ejemplo n.º 1
0
        /// <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;
            }
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
 /// <inheritdoc />
 public void Clear()
 {
     ViewModels.Clear();
     EncapsulatedList.Clear();
     OnAllPropertiesChanged();
     CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
     ClearItemCsommand.OnCanExecuteChanged();
     RemoveItemCommand.OnCanExecuteChanged();
 }
Ejemplo n.º 4
0
        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;
        }
Ejemplo n.º 6
0
 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();
     });
 }
Ejemplo n.º 7
0
 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);
        }
Ejemplo n.º 9
0
 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;
 }
Ejemplo n.º 10
0
        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");
        }
Ejemplo n.º 11
0
 public void Clear()
 {
     View.Clear();
     ViewModels.Clear();
 }
Ejemplo n.º 12
0
 void IStrategy.Clear()
 {
     OnClearing();
     ViewModels.Clear();
     OnClear();
 }
Ejemplo n.º 13
0
 void IStrategy.Clear()
 {
     ViewModels.Clear();
     OnClear();
 }
Ejemplo n.º 14
0
 public void Clear()
 {
     ViewModels.Clear();
     PersitantViewModels.Clear();
 }