internal static IEnumerable<XamDataChart> BuildChartElements(FlightAnalysisViewModelOld viewModel, IEnumerable<string> parameterIDs, ref FAChartModel faChartModel) { List<XamDataChart> charts = new List<XamDataChart>(); IEnumerable<AxisDataBindingObject> bindingObjs = CalculateBindingObjects(viewModel, parameterIDs); foreach (var bd in bindingObjs) { var chartCtrl = BindingChartUIFactory.CreateOneChart(bd, ref faChartModel); if (chartCtrl != null) { if (chartCtrl != null) charts.Add(chartCtrl); //TODO: custom chart event handle: } } return charts; }
public FlightAnalysisNavCommand(FlightAnalysisViewModelOld viewModel, string panelID, bool isPanelSelected, Windows.UI.Xaml.Controls.Frame frame) { this.m_viewModel = viewModel; this.m_panelID = panelID; this.m_isPanelSelected = isPanelSelected; this.m_frame = frame; }
public FlightAnalysisCommandViewModel(FlightAnalysisViewModelOld viewModel, IEnumerable<PanelChangedWrap> wrapPanels, Windows.UI.Xaml.Controls.Frame frame) { this.m_viewModel = viewModel; this.m_wrapPanels = wrapPanels; this.m_panel1SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(0).SelectedPanel.PanelID, false, frame); this.m_panel2SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(1).SelectedPanel.PanelID, false, frame); this.m_panel3SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(2).SelectedPanel.PanelID, false, frame); this.m_panel4SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(3).SelectedPanel.PanelID, false, frame); this.m_panel5SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(4).SelectedPanel.PanelID, false, frame); this.m_panel6SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(5).SelectedPanel.PanelID, false, frame); this.m_panel7SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(6).SelectedPanel.PanelID, false, frame); this.m_panel8SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(7).SelectedPanel.PanelID, false, frame); this.m_panel9SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(8).SelectedPanel.PanelID, false, frame); this.m_panel10SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(9).SelectedPanel.PanelID, false, frame); this.m_panel11SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(10).SelectedPanel.PanelID, false, frame); this.m_panel12SelectedCommand = new FlightAnalysisNavCommand(viewModel, m_wrapPanels.ElementAt(11).SelectedPanel.PanelID, false, frame); }
public T6AxisDataBindingObject(FlightAnalysisViewModelOld viewModel) : base(viewModel) { }
public AxisDataBindingObject(FlightAnalysisViewModelOld viewModel) { this.viewModel = viewModel; }
public RelatedParameterViewModel(FlightAnalysisViewModelOld viewModel, FlightParameter para) { this.viewModel = viewModel; this.m_parameter = para; }
private static IEnumerable<AxisDataBindingObject> CalculateBindingObjects(FlightAnalysisViewModelOld viewModel, IEnumerable<string> parameterIds) { if (parameterIds != null) { //var result1 = from one in parameterIds // where one.IsChecked // select one; //KG(开关量)分一组 //T6L、T6R分一组 //NHL、NHR分一组 List<AxisDataBindingObject> objs = new List<AxisDataBindingObject>(); Dictionary<string, AxisDataBindingObject> objMap = new Dictionary<string, AxisDataBindingObject>(); int item = 0; foreach (var res in parameterIds) { string key = res; if (res.StartsWith("KG")) { key = "KG"; } else if (res.StartsWith("T6")) { key = "T6"; } else if (res.StartsWith("NH")) { key = "NH"; } if (objMap.ContainsKey(key)) { objMap[key].AddRelatedParameterID(res); continue; } else { AxisDataBindingObject obj = new AxisDataBindingObject(viewModel); if (key == "KG") { obj = new KGAxisDataBindingObject(viewModel); } else if (key == "T6") { obj = new T6AxisDataBindingObject(viewModel); } else if (key == "NH") { obj = new NHAxisDataBindingObject(viewModel); } obj.ParameterID = key; obj.Order = item; item++; obj.AddRelatedParameterID(res); objMap.Add(key, obj); objs.Add(obj); } } var result2 = from ob in objs orderby ob.Order ascending select ob; return result2; } return new AxisDataBindingObject[] { }; }
protected override void OnNavigatedTo(NavigationEventArgs e) { if (Windows.ApplicationModel.DesignMode.DesignModeEnabled) return; System.Diagnostics.Debug.WriteLine(string.Format("Start trend chart:{0}", DateTime.Now)); base.OnNavigatedTo(e); FlightAnalysisViewModelOld viewModel = new FlightAnalysisViewModelOld(); var panels = ApplicationContext.Instance.GetChartPanels(ApplicationContext.Instance.CurrentAircraftModel); viewModel.CurrentStartSecond = 0; viewModel.CurrentEndSecond = ApplicationContext.Instance.CurrentFlight.EndSecond; m_viewModel = viewModel; m_viewModel.RelatedParameterCollection = this.GetRelateds(); m_viewModel.RefreshAndRetriveData(); this.DataContext = m_viewModel; m_viewModel.RefreshAndRetriveData(); System.Diagnostics.Debug.WriteLine(string.Format("before trend chart bind:{0}", DateTime.Now)); //var dts = this.GetRawDatas(m_viewModel.GridData); //this.sfchart.Series["Hp"].ItemsSource = dts; //this.sfchart.Series["Vi"].ItemsSource = dts; //this.sfchart.Series["T6L"].ItemsSource = dts; //this.sfchart.Series["T6R"].ItemsSource = dts; //this.sfchart.DataContext = m_viewModel.EntityData; System.Diagnostics.Debug.WriteLine(string.Format("end trend chart:{0}", DateTime.Now)); }