Beispiel #1
0
		/// <summary>
        ///     Производит обсчёт расположения лэйблов значений и пытается максимально раздвинуть их между собой
        /// </summary>
		private void CalculateLabelPosition() {
			var tasks = BuildColons().Select(_ => Task.Factory.StartNew(() => {
				var helper = new DataColonLabelHelper {
					LabelHeight = LabelHeight,
					ScaleMax = FirstScale.Max,
					ScaleMin = FirstScale.Min,
					Height = Preferences.Height,
					Order = ColonDataItemOrder.Real
				};

				helper.Clear();
				foreach (var dataItem in _) {
					helper.Add(dataItem);
				}

				helper.EnsureBestLabels();
			})).ToArray();

			Task.WaitAll(tasks);
		}