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; }
internal FolderCategorySelectorRow(FolderVM vm, string name, string catId, bool isOn) { _vm = vm; _name = name; _catId = catId; _isOn = isOn; }