private void AddParameters(object sender, RoutedEventArgs e) { DlgAddParameters dlg = new DlgAddParameters(); AlgorithmParameters algorithmParameters; if (dlg.ShowDialog() == true) { double crossoverProbability = (double)dlg.crossoverProbability.Value; double mutationProbability = (double)dlg.mutationProbability.Value; int population = (int)dlg.individualsNumber.Value; int generationsNumber = (int)dlg.generationsNumber.Value; int precision = (int)dlg.precision.Value; bool isMaximumSearching = (bool)dlg.maximumSearch.IsChecked; algorithmParameters = new AlgorithmParameters(crossoverProbability, mutationProbability, population, generationsNumber, precision, isMaximumSearching); algorithmParametersList.Add(algorithmParameters); ICollectionView AlgParams = CollectionViewSource.GetDefaultView(AlgorithmGrid.ItemsSource); if (AlgParams != null && AlgParams.CanGroup == true) { AlgParams.GroupDescriptions.Clear(); } AlgorithmGrid.Items.Refresh(); } }
private void Edit_Algorithm(object sender, RoutedEventArgs e) { DlgAddParameters dlg = new DlgAddParameters(); AlgorithmParameters algorithmParameters = AlgorithmGrid.SelectedItem as AlgorithmParameters; int indexOfAlgorithm = algorithmParametersList.IndexOf(algorithmParameters); dlg.crossoverProbability.Value = algorithmParameters.CrossoverProbability; dlg.mutationProbability.Value = algorithmParameters.MutationProbability; dlg.individualsNumber.Value = algorithmParameters.Population; dlg.generationsNumber.Value = algorithmParameters.Generations; dlg.precision.Value = algorithmParameters.Precision; dlg.maximumSearch.IsChecked = algorithmParameters.isMaxSearching; if (dlg.ShowDialog() == true) { algorithmParameters.CrossoverProbability = (double)dlg.crossoverProbability.Value; algorithmParameters.MutationProbability = (double)dlg.mutationProbability.Value; algorithmParameters.Population = (int)dlg.individualsNumber.Value; algorithmParameters.Generations = (int)dlg.generationsNumber.Value; algorithmParameters.Precision = (int)dlg.precision.Value; algorithmParameters.isMaxSearching = (bool)dlg.maximumSearch.IsChecked; algorithmParametersList[indexOfAlgorithm] = algorithmParameters; AlgorithmGrid.Items.Refresh(); } }