コード例 #1
0
        private async void AppBarButton_Edit_ClickAsync(object sender, RoutedEventArgs e)
        {
            PlotEditingDialog dialog = new PlotEditingDialog(plotData);
            await dialog.ShowAsync();

            UpdateChart();
        }
コード例 #2
0
        private async void AppBarButton_AddDiagramm_Click(object sender, RoutedEventArgs e)
        {
            AppBarButton_AddDiagramm.IsEnabled = false;

            EnsureMathModelBinding();

            PlotData plotData      = new PlotData();
            uint     numberOfSteps = (uint)NumberBox_Steps.Value;

            try
            {
                var calcPlotDataTask = Task.Run <Dictionary <string, List <double> > >(() => new Calculator().Calc(this.Simulation.MathModel, numberOfSteps));

                // show dialog with phantom data
                plotData.DataPoints = await Task.Run(() => new Calculator().Calc(this.Simulation.MathModel, 0));

                PlotEditingDialog dialog = new PlotEditingDialog(plotData);
                var dialogResult         = await dialog.ShowAsync();

                if (dialogResult == ContentDialogResult.Primary)
                {
                    // add complete data points
                    ProgressBar_Plotting.Visibility = Visibility.Visible;
                    plotData.DataPoints             = await calcPlotDataTask;

                    Simulation.Plots.Add(plotData);

                    ListView_Plots.ScrollIntoView(plotData);
                }
            }
            catch (Exception exception)
            {
                Debug.WriteLine(exception.Message);
            }
            finally
            {
                AppBarButton_AddDiagramm.IsEnabled = true;
                ProgressBar_Plotting.Visibility    = Visibility.Collapsed;
            }
        }