using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.ComponentModel; namespace 帆板仪表盘 { public class Mod : INotifyPropertyChanged { private double angle; private double power; private long time; /// <summary> ///角度 /// </summary> public long Count { get { return time; } set { time = value; OnPropertyChanged("Mod"); } } public double Angle { get { return angle; } set { angle = value; OnPropertyChanged("PlotModel"); } } public double Power { get { return power; } set { power = value; OnPropertyChanged("PlotModel"); } } public Mod() { } public Mod(double a, double p, long t) { Angle = a; Power = p; Count = t; } public Mod(string dataIn,long t) { Count = t; Deal(dataIn); } private void Deal(string dataIn) { /*此处需要长度处理,待写*/ // int index= dataIn.LastIndexOf("\r\n"); if (dataIn.Length<10) { return; } try { var powers = Regex.Matches(dataIn, @"power:[0-9]+"); power = Double.Parse(powers[powers.Count - 1].ToString().Substring(6)); var angles = Regex.Matches(dataIn, @"角度:[0-9]+.?[0-9]+"); angle = Double.Parse(angles[angles.Count - 1].ToString().Substring(3)); } catch { } } public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged(string propertyName) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName)); } } }