public RemoveSelected(ObservableCollection <AddedPath> addedPaths, ObservableCollection <AddedPath> selectedPaths, ICommandInvoker commandInvoker) { this.addedPaths = addedPaths; this.selectedPaths = selectedPaths; this.commandInvoker = commandInvoker; this.selectedPaths.CollectionChanged += (s, e) => CanExecuteChanged.Raise(this, EventArgs.Empty); }
private void UpdateCanExecuteWhenTaskIsComplete(object sender, PropertyChangedEventArgs _) { var task = (NotifyTask)sender; if (!task.IsCompleted) { return; } task.PropertyChanged -= UpdateCanExecuteWhenTaskIsComplete; // unhook itself CanExecuteChanged.Raise(this); // raise event so that consumers (buttons) can reactivate _messages.Add($"Loaded {_currentP4K.FileName}."); _progress.Stop(); }
private async Task OpenP4kFile() { CanExecuteChanged.Raise(this); _command.Execution.PropertyChanged += UpdateCanExecuteWhenTaskIsComplete; var openFileDialog = new OpenFileDialog { DefaultExt = ".p4k", Filter = "Game archive (.p4k)|*.p4k" }; if (!openFileDialog.ShowDialog() .Value) { return; } var file = _fileSystem.FileInfo.FromFileName(openFileDialog.FileName); _messages.Add($"Loading {openFileDialog.FileName}..."); _progress.SetIndetermined(); await _currentP4K.ChangeAsync(file); }
public void RaiseCanExecuteChanged() { CanExecuteChanged.Raise(this); }
/// <summary> /// Raises the CanExecuteChanged event</summary> /// <param name="sender">Sender</param> /// <param name="e">Event args</param> private void RaiseCanExecuteChanged(object sender, EventArgs e) { CanExecuteChanged.Raise(sender, e); }
public void RaiseCanExecuteChanged() { CanExecuteChanged.Raise(this, EventArgs.Empty); }
public PerformMerge(ObservableCollection <AddedPath> addedPaths) { this.addedPaths = addedPaths; this.addedPaths.CollectionChanged += (s, e) => CanExecuteChanged.Raise(this, EventArgs.Empty); }