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));
        }