void CreateData()
        {
            XDocument document = DataLoader.LoadXmlFromResources("/Data/Movies.xml");

            if (document != null)
            {
                foreach (XElement element in document.Element("Movies").Elements())
                {
                    PointSeries2D series = new PointSeries2D();
                    series.DisplayName         = element.Element("Name").Value;
                    series.ArgumentScaleType   = ScaleType.Numerical;
                    series.ToolTipPointPattern = "{S}\nProduction budget: {A}\nWorldwide grosses: {V}";
                    series.LabelsVisibility    = true;
                    series.Label                        = new SeriesLabel();
                    series.Label.TextPattern            = "{S}";
                    series.Label.ConnectorVisible       = false;
                    series.Label.ResolveOverlappingMode = ResolveOverlappingMode.Default;
                    series.AnimationAutoStartMode       = AnimationAutoStartMode.SetStartState;
                    double argument = Convert.ToDouble(element.Element("ProductionBudget").Value, CultureInfo.InvariantCulture);
                    double value    = Convert.ToDouble(element.Element("WorlwideGrosses").Value, CultureInfo.InvariantCulture);
                    series.Points.Add(new SeriesPoint(argument, value));
                    chart.Diagram.Series.Add(series);
                }
            }
        }
        /// <summary>
        /// 탭을 닫을 때 데이터 저장 여부 체크
        /// </summary>
        /// <returns></returns>
        public bool TabClosing()
        {
            if (this.g_ls2D != null)
            {
                this.g_ls2D = null;
            }
            if (this.g_ps2D != null)
            {
                this.g_ps2D = null;
            }
            if (this.sp != null)
            {
                this.sp = null;
            }

            if (this.g_threadLeftChart != null && this.g_threadLeftChart.ThreadState != ThreadState.Aborted)
            {
                this.g_threadLeftChart.Abort();
            }
            if (this.g_threadRightChart != null && this.g_threadRightChart.ThreadState != ThreadState.Aborted)
            {
                this.g_threadRightChart.Abort();
            }


            this.g_threadLeftChart  = null;
            this.g_threadRightChart = null;
            //System.GC.Collect();

            //this.BaseClass.Info("가비지 컬렉터 호출 후 : " + GC.GetTotalMemory(false).ToString());

            return(true);
        }
        void addSeries_Click_1(object sender, RoutedEventArgs e)
        {
            int           seriesCount = chart.Diagram.Series.Count;
            PointSeries2D newSeries   = new PointSeries2D();

            newSeries.Points.Add(new SeriesPoint(1.0, 1.0));
            newSeries.DisplayName = "Series" + seriesCount;
            chart.Diagram.Series.Add(newSeries);
        }
        /// <summary>
        /// 최적화 오더, SKU 차트 바인딩
        /// </summary>
        /// <param name="_dsValue">결과 조회 데이터 셋</param>
        private void BindingChartRsltMain(DataSet _dsValue)
        {
            try
            {
                this.chartRsltMain.BeginInit();
                this.g_ps2D = new PointSeries2D();
                this.g_ps2D.ArgumentScaleType     = ScaleType.Numerical;
                this.g_ps2D.DataSourceSorted      = true;
                this.g_ps2D.CrosshairLabelPattern = "{S}: {V:0.0}";
                this.g_ps2D.ArgumentDataMember    = "Argument";
                this.g_ps2D.ValueDataMember       = "Value";

                List <DataPointMember> dataMemberRight = new List <DataPointMember>();

                this.pointRsltChart.Points.Clear();

                for (int i = 0; i < _dsValue.Tables[0].Rows.Count; i++)
                {
                    this.sp = new SeriesPoint(_dsValue.Tables[0].Rows[i]["OPT_SKU_SEQ"].ToString(), Convert.ToDouble(_dsValue.Tables[0].Rows[i]["OPT_ORD_SEQ"]));
                    this.pointRsltChart.Points.Add(this.sp);
                }
            }
            catch { throw; }
            finally
            {
                if (this.sp != null)
                {
                    this.sp = null;
                }
                if (this.g_ps2D != null)
                {
                    this.g_ps2D = null;
                }

                this.chartRsltMain.EndInit();
            }
        }
        /// <summary>
        /// 최적화 필터 오더, SKU 차트 바인딩
        /// </summary>
        /// <param name="_dsValue">결과 조회 데이터 셋</param>
        private void BindingChartFltrMain(DataSet _dsValue)
        {
            PointSeries2D seriesFltrMain = null;

            try
            {
                this.chartFltrtMain.BeginInit();
                seriesFltrMain = new PointSeries2D();
                seriesFltrMain.ArgumentScaleType     = ScaleType.Numerical;
                seriesFltrMain.DataSourceSorted      = true;
                seriesFltrMain.CrosshairLabelPattern = "{S}: {V:0.0}";
                seriesFltrMain.ArgumentDataMember    = "Argument";
                seriesFltrMain.ValueDataMember       = "Value";

                //if (_dsValue.Tables[0].Rows.Count > 0)
                //{
                //    this.axisX2DRsltRight.Visible = true;
                //    this.axisY2DRsltRight.Visible = true;
                //}

                List <DataPointMember> dataMemberRight = new List <DataPointMember>();

                this.pointFltrChart.Points.Clear();

                for (int i = 0; i < _dsValue.Tables[0].Rows.Count; i++)
                {
                    SeriesPoint sp = new SeriesPoint(_dsValue.Tables[0].Rows[i]["OPT_SKU_SEQ"].ToString(), Convert.ToDouble(_dsValue.Tables[0].Rows[i]["OPT_ORD_SEQ"]));
                    this.pointFltrChart.Points.Add(sp);
                }
            }
            catch { throw; }
            finally
            {
                this.chartFltrtMain.EndInit();
            }
        }