public DataViewControlFactory(ViewModelBase vm) { if (vm == null) { throw new ArgumentNullException("vm"); } param = vm as PsaParameterDataViewModel; veh = vm as ExportableVehicleViewModel; pset = vm as IPsaParametersSetViewModel; trace = vm as ExportablePsaTraceViewModel; }
private void InitializeCheckBoxes(IPsaParametersSetViewModel vm) { checkboxesStackPanel.Children.Clear(); DataContext = vm; foreach (PsaParameterDataViewModel paramDataViewModel in vm.Parameters) { ParameterDisplaySettingsViewModel cbViewModel = new ParameterDisplaySettingsViewModel(paramDataViewModel); cbViewModel.GraphControl = graph; cbViewModel.Text = paramDataViewModel.Type; ParameterDisplaySettingsControl cbControl = new ParameterDisplaySettingsControl(); cbControl.DataContext = cbViewModel; cbControl.Text = cbViewModel.Text; cbControl.LineColor = cbViewModel.StrokeColor; cbControl.IsChecked = false; cbControl.Checked += SomeCheckBoxChecked; cbControl.Unchecked += SomeCheckBoxUnChecked; cbViewModel.ColorChanged += SomeCheckBoxColorChanged; cbControl.HorizontalAlignment = HorizontalAlignment.Left; checkboxesStackPanel.Children.Add(cbControl); } }
public PsaParametersSetDetailsControl(IPsaParametersSetViewModel vm) : this() { InitializeCheckBoxes(vm); }
private void OnGridSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { object obj = e.NewValue; ImportableVehicleViewModel veh = obj as ImportableVehicleViewModel; if (veh != null) { if (obj != currentSelectedItem) { DeselectCurrentlySelected(); veh.IsSelected = true; currentSelectedItem = veh; } VehicleItemDetailsControl vehDetails = new VehicleItemDetailsControl(); UpdateFakeGraphControl(veh); vehDetails.DataContext = veh; ContentControlLower.Content = vehDetails; return; } ImportablePsaParameterDataViewModel parameterData = obj as ImportablePsaParameterDataViewModel; if (parameterData != null) { currentSelectedItem = parameterData; SingleParameterGraphControl graph = new SingleParameterGraphControl(); if (parameterData.HasTimestamps) { graph.DisplayGraph(parameterData.Model.Timestamps, parameterData.Values, Colors.Blue); } else { graph.DisplayGraph(parameterData.Values, Colors.Blue); } ContentControlLower.Content = graph; ContentControlUpper.Content = null; return; // set parameter description and some other info at top place } IPsaParametersSetViewModel set = obj as IPsaParametersSetViewModel; if (set != null) { currentSelectedItem = set; PsaParametersSetGraphSelectionControl selector = new PsaParametersSetGraphSelectionControl(); selector.DataContext = set; ContentControlUpper.Content = selector; selector.InitializeCheckboxes(); PsaParametersSetGraphControl multigraph = new PsaParametersSetGraphControl(); ContentControlLower.Content = multigraph; selector.CheckBoxChecked -= OnSelectorCheckBoxChecked; selector.CheckBoxUnchecked -= OnSelectorCheckBoxUnChecked; selector.CheckBoxChecked += OnSelectorCheckBoxChecked; selector.CheckBoxUnchecked += OnSelectorCheckBoxUnChecked; return; } ContentControlUpper.Content = null; ContentControlLower.Content = null; }