private void InitChart()
 {
     XVolate.Add("0");
     YVolateAndCn.Add(0);
     YVolateAndCn2.Add(0);
     YVolateAndCn3.Add(0);
     YVolateAndCn4.Add(0);
     XFre.Add("0");
     YVolateAndCurrent.Add(0);
     YVolateAndCurrent2.Add(0);
     YVolateAndCurrent3.Add(0);
     YVolateAndCurrent4.Add(0);
     XTime.Add("0");
     YVolateAndTan.Add(0);
     YVolateAndTan2.Add(0);
     YVolateAndTan3.Add(0);
     YVolateAndTan4.Add(0);
 }
 private void UpdataWaveForm()
 {
     #region
     if (Com1.SelectedIndex == 0)
     {
         if (Com2.SelectedIndex == 0)
         {
             mv.SetChartObserver(YVolateAndCn.ToArray(), XVolate, ChartPannel.Channel1);
             mv.SetChartObserver(YVolateAndCn2.ToArray(), XVolate, ChartPannel.Channel2);
             mv.SetChartObserver(YVolateAndCn3.ToArray(), XVolate, ChartPannel.Channel3);
             mv.SetChartObserver(YVolateAndCn4.ToArray(), XVolate, ChartPannel.Channel4);
         }
         else if (Com2.SelectedIndex == 1)
         {
             mv.SetChartObserver(YVolateAndCurrent.ToArray(), XVolate, ChartPannel.Channel1);
             mv.SetChartObserver(YVolateAndCurrent2.ToArray(), XVolate, ChartPannel.Channel2);
             mv.SetChartObserver(YVolateAndCurrent3.ToArray(), XVolate, ChartPannel.Channel3);
             mv.SetChartObserver(YVolateAndCurrent4.ToArray(), XVolate, ChartPannel.Channel4);
         }
         else if (Com2.SelectedIndex == 2)
         {
             mv.SetChartObserver(YVolateAndTan.ToArray(), XVolate, ChartPannel.Channel1);
             mv.SetChartObserver(YVolateAndTan2.ToArray(), XVolate, ChartPannel.Channel2);
             mv.SetChartObserver(YVolateAndTan3.ToArray(), XVolate, ChartPannel.Channel3);
             mv.SetChartObserver(YVolateAndTan4.ToArray(), XVolate, ChartPannel.Channel4);
         }
     }
     if (Com1.SelectedIndex == 1)
     {
         if (Com2.SelectedIndex == 0)
         {
             mv.SetChartObserver(YVolateAndCn.ToArray(), XFre, ChartPannel.Channel1);
             mv.SetChartObserver(YVolateAndCn2.ToArray(), XFre, ChartPannel.Channel2);
             mv.SetChartObserver(YVolateAndCn3.ToArray(), XFre, ChartPannel.Channel3);
             mv.SetChartObserver(YVolateAndCn4.ToArray(), XFre, ChartPannel.Channel4);
         }
         else if (Com2.SelectedIndex == 1)
         {
             mv.SetChartObserver(YVolateAndCurrent.ToArray(), XFre, ChartPannel.Channel1);
             mv.SetChartObserver(YVolateAndCurrent2.ToArray(), XFre, ChartPannel.Channel2);
             mv.SetChartObserver(YVolateAndCurrent3.ToArray(), XFre, ChartPannel.Channel3);
             mv.SetChartObserver(YVolateAndCurrent4.ToArray(), XFre, ChartPannel.Channel4);
         }
         else
         {
             mv.SetChartObserver(YVolateAndTan.ToArray(), XFre, ChartPannel.Channel1);
             mv.SetChartObserver(YVolateAndTan2.ToArray(), XFre, ChartPannel.Channel2);
             mv.SetChartObserver(YVolateAndTan3.ToArray(), XFre, ChartPannel.Channel3);
             mv.SetChartObserver(YVolateAndTan4.ToArray(), XFre, ChartPannel.Channel4);
         }
     }
     if (Com1.SelectedIndex == 2)
     {
         if (Com2.SelectedIndex == 0)
         {
             mv.SetChartObserver(YVolateAndCn.ToArray(), XTime, ChartPannel.Channel1);
             mv.SetChartObserver(YVolateAndCn2.ToArray(), XTime, ChartPannel.Channel2);
             mv.SetChartObserver(YVolateAndCn3.ToArray(), XTime, ChartPannel.Channel3);
             mv.SetChartObserver(YVolateAndCn4.ToArray(), XTime, ChartPannel.Channel4);
         }
         else if (Com2.SelectedIndex == 1)
         {
             mv.SetChartObserver(YVolateAndCurrent.ToArray(), XTime, ChartPannel.Channel1);
             mv.SetChartObserver(YVolateAndCurrent2.ToArray(), XTime, ChartPannel.Channel2);
             mv.SetChartObserver(YVolateAndCurrent3.ToArray(), XTime, ChartPannel.Channel3);
             mv.SetChartObserver(YVolateAndCurrent4.ToArray(), XTime, ChartPannel.Channel4);
         }
         else
         {
             mv.SetChartObserver(YVolateAndTan.ToArray(), XTime, ChartPannel.Channel1);
             mv.SetChartObserver(YVolateAndTan2.ToArray(), XTime, ChartPannel.Channel2);
             mv.SetChartObserver(YVolateAndTan3.ToArray(), XTime, ChartPannel.Channel3);
             mv.SetChartObserver(YVolateAndTan4.ToArray(), XTime, ChartPannel.Channel4);
         }
     }
     #endregion
     // Recor_Click(null, null);
 }
 private void Delete_Click(object sender, RoutedEventArgs e)
 {
     if (XVolate.Count > 1)
     {
         XVolate.RemoveAt(XVolate.Count - 1);
     }
     if (YVolateAndCn.Count > 1)
     {
         YVolateAndCn.RemoveAt(YVolateAndCn.Count - 1);
     }
     if (YVolateAndCn2.Count > 1)
     {
         YVolateAndCn2.RemoveAt(YVolateAndCn2.Count - 1);
     }
     if (YVolateAndCn3.Count > 1)
     {
         YVolateAndCn3.RemoveAt(YVolateAndCn3.Count - 1);
     }
     if (YVolateAndCn4.Count > 1)
     {
         YVolateAndCn4.RemoveAt(YVolateAndCn4.Count - 1);
     }
     if (XFre.Count > 1)
     {
         XFre.RemoveAt(XFre.Count - 1);
     }
     if (YVolateAndCurrent.Count > 1)
     {
         YVolateAndCurrent.RemoveAt(YVolateAndCurrent.Count - 1);
     }
     if (YVolateAndCurrent2.Count > 1)
     {
         YVolateAndCurrent2.RemoveAt(YVolateAndCurrent2.Count - 1);
     }
     if (YVolateAndCurrent3.Count > 1)
     {
         YVolateAndCurrent3.RemoveAt(YVolateAndCurrent3.Count - 1);
     }
     if (YVolateAndCurrent4.Count > 1)
     {
         YVolateAndCurrent4.RemoveAt(YVolateAndCurrent4.Count - 1);
     }
     if (XTime.Count > 1)
     {
         XTime.RemoveAt(XTime.Count - 1);
     }
     if (YVolateAndTan.Count > 1)
     {
         YVolateAndTan.RemoveAt(YVolateAndTan.Count - 1);
     }
     if (YVolateAndTan2.Count > 1)
     {
         YVolateAndTan2.RemoveAt(YVolateAndTan2.Count - 1);
     }
     if (YVolateAndTan3.Count > 1)
     {
         YVolateAndTan3.RemoveAt(YVolateAndTan3.Count - 1);
     }
     if (YVolateAndTan4.Count > 1)
     {
         YVolateAndTan4.RemoveAt(YVolateAndTan4.Count - 1);
     }
     UpdataWaveForm();
 }
        private void Recor_Click(object sender, RoutedEventArgs e)
        {
            #region 设置基础值
            double VolateD = 0;
            string Volate  = "0V";
            try
            {
                if (AutoStateStatic.SState.mv.HVVoltage.ToString() != "NaN")
                {
                    Volate = mv.HVVoltage.ToString();
                    PhysicalVariable a = NumericsConverter.Text2Value(Volate);
                    VolateD = (double)a.value;
                }
            }
            catch
            {
            }
            var Fre  = mv.HVFrequency.ToString();
            var Time = DateTime.Now.ToString();

            float Cn      = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.Capacitance1).value;
            var   Current = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.Current1).value;
            var   Tan     = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.DissipationFactor1).value;

            var Cn2      = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.Capacitance2).value;
            var Current2 = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.Current2).value;
            var Tan2     = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.DissipationFactor2).value;

            var Cn3      = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.Capacitance3).value;
            var Current3 = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.Current3).value;
            var Tan3     = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.DissipationFactor3).value;

            var Cn4      = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.Capacitance4).value;
            var Current4 = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.Current4).value;
            var Tan4     = (float)NumericsConverter.Text2Value(AutoStateStatic.SState.mv.DissipationFactor4).value;
            if (Com1.SelectedIndex == 0)
            {
                XVolate.Add(Volate);

                if (Com2.SelectedIndex == 0)
                {
                    YVolateAndCn.Add(Cn);
                    YVolateAndCn2.Add(Cn2);
                    YVolateAndCn3.Add(Cn3);
                    YVolateAndCn4.Add(Cn4);

                    mv.SetChartObserver(YVolateAndCn.ToArray(), XVolate, ChartPannel.Channel1);
                    mv.SetChartObserver(YVolateAndCn2.ToArray(), XVolate, ChartPannel.Channel2);
                    mv.SetChartObserver(YVolateAndCn3.ToArray(), XVolate, ChartPannel.Channel3);
                    mv.SetChartObserver(YVolateAndCn4.ToArray(), XVolate, ChartPannel.Channel4);
                }
                else if (Com2.SelectedIndex == 1)
                {
                    YVolateAndCurrent.Add((double)Current);
                    YVolateAndCurrent2.Add((double)Current2);
                    YVolateAndCurrent3.Add((double)Current3);
                    YVolateAndCurrent4.Add((double)Current4);
                    mv.SetChartObserver(YVolateAndCurrent.ToArray(), XVolate, ChartPannel.Channel1);
                    mv.SetChartObserver(YVolateAndCurrent2.ToArray(), XVolate, ChartPannel.Channel2);
                    mv.SetChartObserver(YVolateAndCurrent3.ToArray(), XVolate, ChartPannel.Channel3);
                    mv.SetChartObserver(YVolateAndCurrent4.ToArray(), XVolate, ChartPannel.Channel4);
                }
                else if (Com2.SelectedIndex == 2)
                {
                    YVolateAndTan.Add((double)Tan);
                    YVolateAndTan2.Add((double)Tan2);
                    YVolateAndTan3.Add((double)Tan3);
                    YVolateAndTan4.Add((double)Tan4);
                    mv.SetChartObserver(YVolateAndTan.ToArray(), XVolate, ChartPannel.Channel1);
                    mv.SetChartObserver(YVolateAndTan2.ToArray(), XVolate, ChartPannel.Channel2);
                    mv.SetChartObserver(YVolateAndTan3.ToArray(), XVolate, ChartPannel.Channel3);
                    mv.SetChartObserver(YVolateAndTan4.ToArray(), XVolate, ChartPannel.Channel4);
                }
            }
            if (Com1.SelectedIndex == 1)
            {
                XFre.Add(Fre);
                if (Com2.SelectedIndex == 0)
                {
                    YVolateAndCn.Add((double)Cn);
                    YVolateAndCn2.Add((double)Cn2);
                    YVolateAndCn3.Add((double)Cn3);
                    YVolateAndCn4.Add((double)Cn4);
                    mv.SetChartObserver(YVolateAndCn.ToArray(), XFre, ChartPannel.Channel1);
                    mv.SetChartObserver(YVolateAndCn2.ToArray(), XFre, ChartPannel.Channel2);
                    mv.SetChartObserver(YVolateAndCn3.ToArray(), XFre, ChartPannel.Channel3);
                    mv.SetChartObserver(YVolateAndCn4.ToArray(), XFre, ChartPannel.Channel4);
                }
                else if (Com2.SelectedIndex == 1)
                {
                    YVolateAndCurrent.Add((double)Current);
                    YVolateAndCurrent2.Add((double)Current2);
                    YVolateAndCurrent3.Add((double)Current3);
                    YVolateAndCurrent4.Add((double)Current4);
                    mv.SetChartObserver(YVolateAndCurrent.ToArray(), XFre, ChartPannel.Channel1);
                    mv.SetChartObserver(YVolateAndCurrent2.ToArray(), XFre, ChartPannel.Channel2);
                    mv.SetChartObserver(YVolateAndCurrent3.ToArray(), XFre, ChartPannel.Channel3);
                    mv.SetChartObserver(YVolateAndCurrent4.ToArray(), XFre, ChartPannel.Channel4);
                }
                else
                {
                    YVolateAndTan.Add((double)Tan);
                    YVolateAndTan2.Add((double)Tan2);
                    YVolateAndTan3.Add((double)Tan3);
                    YVolateAndTan4.Add((double)Tan4);
                    mv.SetChartObserver(YVolateAndTan.ToArray(), XFre, ChartPannel.Channel1);
                    mv.SetChartObserver(YVolateAndTan2.ToArray(), XFre, ChartPannel.Channel2);
                    mv.SetChartObserver(YVolateAndTan3.ToArray(), XFre, ChartPannel.Channel3);
                    mv.SetChartObserver(YVolateAndTan4.ToArray(), XFre, ChartPannel.Channel4);
                }
            }
            if (Com1.SelectedIndex == 2)
            {
                XFre.Add(Time);
                if (Com2.SelectedIndex == 0)
                {
                    YVolateAndCn.Add((double)VolateD);
                    YVolateAndCn2.Add((double)VolateD);
                    YVolateAndCn3.Add((double)VolateD);
                    YVolateAndCn4.Add((double)VolateD);
                    mv.SetChartObserver(YVolateAndCn.ToArray(), XTime, ChartPannel.Channel1);
                    mv.SetChartObserver(YVolateAndCn2.ToArray(), XTime, ChartPannel.Channel2);
                    mv.SetChartObserver(YVolateAndCn3.ToArray(), XTime, ChartPannel.Channel3);
                    mv.SetChartObserver(YVolateAndCn4.ToArray(), XTime, ChartPannel.Channel4);
                }
                else if (Com2.SelectedIndex == 1)
                {
                    YVolateAndCurrent.Add((double)Current);
                    YVolateAndCurrent2.Add((double)Current2);
                    YVolateAndCurrent3.Add((double)Current3);
                    YVolateAndCurrent4.Add((double)Current4);
                    mv.SetChartObserver(YVolateAndCurrent.ToArray(), XTime, ChartPannel.Channel1);
                    mv.SetChartObserver(YVolateAndCurrent2.ToArray(), XTime, ChartPannel.Channel2);
                    mv.SetChartObserver(YVolateAndCurrent3.ToArray(), XTime, ChartPannel.Channel3);
                    mv.SetChartObserver(YVolateAndCurrent4.ToArray(), XTime, ChartPannel.Channel4);
                }
                else
                {
                    YVolateAndTan.Add((double)Tan);
                    YVolateAndTan2.Add((double)Tan2);
                    YVolateAndTan3.Add((double)Tan3);
                    YVolateAndTan4.Add((double)Tan4);
                    mv.SetChartObserver(YVolateAndTan.ToArray(), XTime, ChartPannel.Channel1);
                    mv.SetChartObserver(YVolateAndTan2.ToArray(), XTime, ChartPannel.Channel2);
                    mv.SetChartObserver(YVolateAndTan3.ToArray(), XTime, ChartPannel.Channel3);
                    mv.SetChartObserver(YVolateAndTan4.ToArray(), XTime, ChartPannel.Channel4);
                }
            }
            #endregion
        }