private async Task UpdateFolderVMAsync()
		{
			var folder = DataContext as Folder;
			if (folder != null && !folder.IsDisposed)
			{
				if (_vm == null)
				{
					_vm = new FolderVM(DataContext as Folder, AudioRecorderView/*, CameraView*/, _animationStarter);
					await _vm.OpenAsync();
					RaisePropertyChanged_UI(nameof(VM));
				}
				else if (_vm.Folder != folder)
				{
					await DisposeFolderVMAsync();

					_vm = new FolderVM(DataContext as Folder, AudioRecorderView/*, CameraView*/, _animationStarter);
					await _vm.OpenAsync();
					RaisePropertyChanged_UI(nameof(VM));
				}
			}
			else
			{
				await DisposeFolderVMAsync().ConfigureAwait(false);
			}
		}
		private async Task DisposeFolderVMAsync()
		{
			var fvm = _vm;
			if (fvm != null)
			{
				await fvm.CloseAsync();
				fvm.Dispose();
			}
			_vm = null;
		}
Exemple #3
0
			internal FolderCategorySelectorRow(FolderVM vm, string name, string catId, bool isOn)
			{
				_vm = vm;
				_name = name;
				_catId = catId;
				_isOn = isOn;
			}