private static void OnPreviewKeyDown(object sender, KeyEventArgs e) { if (e.Key != Key.Space) return; e.Handled = true; var listView = (ListView)sender; var command = (RelayCommand<SelectPendingChangesCommandArgument>)listView.GetValue(CommandProperty); var selectedItems = listView.SelectedItems.Cast<PendingChangeModel>().ToArray(); var workItemModel = selectedItems.Any() && (!selectedItems.Last().IncludeChange); var selectPendingChangesCommandArgument = new SelectPendingChangesCommandArgument { Collection = selectedItems, Value = workItemModel }; command.Execute(selectPendingChangesCommandArgument); }
private void SelectPendingChanges(SelectPendingChangesCommandArgument selectPendingChangesCommandArgument) { this.Logger().Debug("Select Pending Changes: {0}, Count: {1}", selectPendingChangesCommandArgument.Value, selectPendingChangesCommandArgument.Collection.Count()); _backgroundFunctionPreventDataUpdate = true; foreach (var pendingChangeModel in selectPendingChangesCommandArgument.Collection) { pendingChangeModel.IncludeChange = selectPendingChangesCommandArgument.Value; } _backgroundFunctionPreventDataUpdate = false; PopulateSelectedPendingChangesSummary(); }
private bool CanSelectPendingChanges(SelectPendingChangesCommandArgument commandArgument) { return commandArgument.Collection != null && commandArgument.Collection.Any(); }