private void FirstAlgorithmStartButton_Click(object sender, RoutedEventArgs e) { FirstAlgorithmStartButton.IsEnabled = false; FirstAlgorithmStartButton.Content = "Please wait..."; string graphName = GraphNameTextBox.Text; var folderID = (FolderListBox.SelectedItem as Folder).GetID(); var graphID = systemManager_.CreateGraph(graphName, folderID, Statics.DEFAULT_ENGINE_GUID); var graph = systemManager_.StartGraph(graphID); FirstAlgorithm firstAlgorithm = new FirstAlgorithm(); Application.Current.Dispatcher.BeginInvoke( DispatcherPriority.Background, new Action(() => { firstAlgorithm.Start(GetK5Points(), GetK5AdjacencyList(), graph); FirstAlgorithmStartButton.Content = "Start first algorithm"; FirstAlgorithmStartButton.IsEnabled = true; })); }