private void CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e) { TaskHolder.CancelTasks(); e.Handled = true; int[] intArray = new int[theElements.Count]; for (int i = 0; i < theElements.Count; i++) { intArray[i] = theElements[i].Value; } double[] progressReport = new double[1]; TaskHolder.cts = new CancellationTokenSource(); TaskHolder.task = Task.Run(() => Functions.Algorithms.SimpleArgument114115(intArray, targetValue, TaskHolder.cts.Token, ref progressReport[0])); ResultPage page = new ResultPage(TaskHolder.task, progressReport); NavigationService.Navigate(page); }