private void addDataSerie(int serieIndex, int row, int min, int max, Grid grid) { DockPanel serieDockPanel = new DockPanel { HorizontalAlignment = HorizontalAlignment.Right, Margin = new Thickness(0, 0, 5, 0) }; serieCheckBoxes[serieIndex] = new CheckBox { IsChecked = true, VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Left }; serieCheckBoxes[serieIndex].Click += CheckBox_Click; Label serieLabel = new Label { Content = "Serie _" + serieIndex, Target = serieCheckBoxes[serieIndex] }; serieDockPanel.Children.Add(serieLabel); serieDockPanel.Children.Add(serieCheckBoxes[serieIndex]); minNumberScrollBars[serieIndex] = new NumberScrollBar { Value = min, Minimum = -11000, Maximum = 11000, SmallChange = 10, LargeChange = 100 }; minNumberScrollBars[serieIndex].ValueChanged += NumberScrollBar_ValueChanged; Label minLabel = new Label { Content = "Mi_n", Target = minNumberScrollBars[serieIndex] }; maxNumberScrollBars[serieIndex] = new NumberScrollBar { Value = max, Minimum = -11000, Maximum = 11000, SmallChange = 10, LargeChange = 100 }; maxNumberScrollBars[serieIndex].ValueChanged += NumberScrollBar_ValueChanged; Label maxLabel = new Label { Content = "Ma_x", Target = maxNumberScrollBars[serieIndex] }; row++; int column = 0; addToGrid(grid, row, column++, serieDockPanel); addToGrid(grid, row, column++, minLabel); addToGrid(grid, row, column++, minNumberScrollBars[serieIndex]); column++; addToGrid(grid, row, column++, maxLabel); addToGrid(grid, row, column++, maxNumberScrollBars[serieIndex]); }
public Chart1Plot1X1YWindow() { Title = "Test Chart1Plot1X1YLegend"; //use wpfControlTestbench as content of Chart1Plot1X1YLegendWindow WpfControlTestbench wpfControlTestbench = new WpfControlTestbench(); Content = wpfControlTestbench; //test Chart1Plot1X1YLegendTraced in wpfControlTestbench chart1Plot1X1YLegendTraced = new Chart1Plot1X1YLegendTraced(); wpfControlTestbench.TestFrameworkElement = chart1Plot1X1YLegendTraced; //add controls to set Chart1Plot1X1YLegend specific properties Grid grid = new Grid(); wpfControlTestbench.Content = grid; grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(125) }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(5) }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(125) }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); grid.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); grid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); //Styles Style textBoxStyle = new System.Windows.Style(typeof(TextBox)); textBoxStyle.Setters.Add(new Setter(TextBox.VerticalAlignmentProperty, VerticalAlignment.Center)); textBoxStyle.Setters.Add(new Setter(TextBox.HorizontalAlignmentProperty, HorizontalAlignment.Left)); textBoxStyle.Setters.Add(new Setter(TextBox.MarginProperty, new Thickness(4, 2, 0, 2))); grid.Resources.Add(typeof(TextBox), textBoxStyle); Style textBlockStyle = new System.Windows.Style(typeof(TextBlock)); textBlockStyle.Setters.Add(new Setter(TextBlock.VerticalAlignmentProperty, VerticalAlignment.Center)); textBlockStyle.Setters.Add(new Setter(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Left)); grid.Resources.Add(typeof(TextBlock), textBlockStyle); Style labelStyle = new System.Windows.Style(typeof(Label)); labelStyle.Setters.Add(new Setter(Label.VerticalAlignmentProperty, VerticalAlignment.Center)); labelStyle.Setters.Add(new Setter(Label.HorizontalAlignmentProperty, HorizontalAlignment.Left)); grid.Resources.Add(typeof(Label), labelStyle); //Row0: startDate, time startDateDatePicker = new DatePicker { SelectedDate = DateTime.Today }; startDateDatePicker.SelectedDateChanged += StartDatePicker_SelectedDateChanged; Label startDateLabel = new Label { Content = "_Start Date", Target = startDateDatePicker }; timeNumberScrollBar = new NumberScrollBar { Value = 1, DecimalPlaces = 0, Minimum = 1, Maximum = 1440, SmallChange = 1, LargeChange = 60 }; timeNumberScrollBar.ValueChanged += NumberScrollBar_ValueChanged; Label timeLabel = new Label { Content = "_Time", Target = timeNumberScrollBar }; TextBlock timeTextBlock = new TextBlock { Text = "minutes" }; int row = 0; int column = 1; addToGrid(grid, row, column++, startDateLabel); addToGrid(grid, row, column++, startDateDatePicker); column++; addToGrid(grid, row, column++, timeLabel); addToGrid(grid, row, column++, timeNumberScrollBar); addToGrid(grid, row, column++, timeTextBlock); //Row 1: Steps, Increment stepsNumberScrollBar = new NumberScrollBar { Value = 3000, Minimum = 1, Maximum = 100000, SmallChange = 30, LargeChange = 300 }; stepsNumberScrollBar.ValueChanged += NumberScrollBar_ValueChanged; Label stepsLabel = new Label { Content = "_Steps", Target = stepsNumberScrollBar }; incrementNumberScrollBar = new NumberScrollBar { Value = 1, Minimum = -10, Maximum = 500, SmallChange = 1, LargeChange = 200 }; incrementNumberScrollBar.ValueChanged += NumberScrollBar_ValueChanged; Label incrementLabel = new Label { Content = "_Increment", Target = incrementNumberScrollBar }; TextBlock incrementTextBlock = new TextBlock(); incrementTextBlock.Text = "minutes"; row++; column = 1; addToGrid(grid, row, column++, stepsLabel); addToGrid(grid, row, column++, stepsNumberScrollBar); column++; addToGrid(grid, row, column++, incrementLabel); addToGrid(grid, row, column++, incrementNumberScrollBar); addToGrid(grid, row, column++, incrementTextBlock); //Row 2..: Series with selection Checkbox and min/max values A--> addDataSerie(0, row++, 0, 100, grid); addDataSerie(1, row++, 60, 60, grid); addDataSerie(2, row++, 20, 50, grid); TextBlock lineAreaTextBlock = new TextBlock(); lineAreaTextBlock.Text = "Style: LineArea"; addToGrid(grid, row, 6, lineAreaTextBlock); updateParameters(); }