//--------------statistic //TODO:这部分逻辑需要重构 public List <MeasureListItem> GetMeasureListData(MeasureScale scale) { List <MeasureListItem> list = new List <MeasureListItem>(); for (int i = 0; i < this.GraphicsList.Count; i++) { DrawObject drawObj = this.GraphicsList[i]; //TODO: 计算测量的逻辑应该从绘图对象中分离出来 MeasureListItem item = drawObj.GetMeasureListItem(); if (item != null) { //如果已经定过标,将值进行转换 if (scale != null && scale.UnitType != Constants.UnitTypeDef.Pixel) { double ratio = scale.UnitValue / scale.Pixels; item.AdjustByScale(ratio); item.Unit = scale.UnitTypeDisplayName; } else { item.Unit = "像素"; } list.Add(item); } } return(list); }