protected override void OnAnnotationGraphicChanged(IAnnotationGraphic oldAnnotationGraphic, IAnnotationGraphic annotationGraphic)
		{
			if (oldAnnotationGraphic != null)
			{
				var pointsGraphic = oldAnnotationGraphic.Subject as IPointsGraphic;
				if (pointsGraphic != null)
				{
					pointsGraphic.Points.PointAdded -= OnPolygonGraphicClosed;
					pointsGraphic.Points.PointChanged -= OnPolygonGraphicClosed;
					pointsGraphic.Points.PointRemoved -= OnPolygonGraphicClosed;
					pointsGraphic.Points.PointsCleared -= OnPolygonGraphicClosed;
				}
			}

			base.OnAnnotationGraphicChanged(oldAnnotationGraphic, annotationGraphic);

			if (annotationGraphic != null)
			{
				var pointsGraphic = annotationGraphic.Subject as IPointsGraphic;
				if (pointsGraphic != null)
				{
					pointsGraphic.Points.PointAdded += OnPolygonGraphicClosed;
					pointsGraphic.Points.PointChanged += OnPolygonGraphicClosed;
					pointsGraphic.Points.PointRemoved += OnPolygonGraphicClosed;
					pointsGraphic.Points.PointsCleared += OnPolygonGraphicClosed;
				}
			}
		}
        protected override void OnAnnotationGraphicChanged(IAnnotationGraphic oldAnnotationGraphic, IAnnotationGraphic annotationGraphic)
        {
            if (oldAnnotationGraphic != null)
            {
                var pointsGraphic = oldAnnotationGraphic.Subject as IPointsGraphic;
                if (pointsGraphic != null)
                {
                    pointsGraphic.Points.PointAdded    -= OnPolygonGraphicClosed;
                    pointsGraphic.Points.PointChanged  -= OnPolygonGraphicClosed;
                    pointsGraphic.Points.PointRemoved  -= OnPolygonGraphicClosed;
                    pointsGraphic.Points.PointsCleared -= OnPolygonGraphicClosed;
                }
            }

            base.OnAnnotationGraphicChanged(oldAnnotationGraphic, annotationGraphic);

            if (annotationGraphic != null)
            {
                var pointsGraphic = annotationGraphic.Subject as IPointsGraphic;
                if (pointsGraphic != null)
                {
                    pointsGraphic.Points.PointAdded    += OnPolygonGraphicClosed;
                    pointsGraphic.Points.PointChanged  += OnPolygonGraphicClosed;
                    pointsGraphic.Points.PointRemoved  += OnPolygonGraphicClosed;
                    pointsGraphic.Points.PointsCleared += OnPolygonGraphicClosed;
                }
            }
        }
 protected override void OnAnnotationGraphicChanged(IAnnotationGraphic oldAnnotationGraphic, IAnnotationGraphic annotationGraphic)
 {
     base.OnAnnotationGraphicChanged(oldAnnotationGraphic, annotationGraphic);
     if (_firstCalculation)
     {
         base.Callout.Visible = false;
     }
 }
 /// <summary>
 /// Sets the <see cref="AnnotationGraphic"/> that owns this strategy.
 /// </summary>
 public void SetAnnotationGraphic(IAnnotationGraphic annotationGraphic)
 {
     if (_annotationGraphic != annotationGraphic)
     {
         var oldAnnotationGraphic = _annotationGraphic;
         _annotationGraphic = annotationGraphic;
         OnAnnotationGraphicChanged(oldAnnotationGraphic, annotationGraphic);
     }
 }
		protected override void OnAnnotationGraphicChanged(IAnnotationGraphic oldAnnotationGraphic, IAnnotationGraphic annotationGraphic)
		{
			base.OnAnnotationGraphicChanged(oldAnnotationGraphic, annotationGraphic);
			if (_firstCalculation)
				base.Callout.Visible = false;
		}
		/// <summary>
		/// Sets the <see cref="AnnotationGraphic"/> that owns this strategy.
		/// </summary>
		public void SetAnnotationGraphic(IAnnotationGraphic annotationGraphic)
		{
			if (_annotationGraphic != annotationGraphic)
			{
				var oldAnnotationGraphic = _annotationGraphic;
				_annotationGraphic = annotationGraphic;
				OnAnnotationGraphicChanged(oldAnnotationGraphic, annotationGraphic);
			}
		}
		/// <summary>
		/// Called when the <see cref="AnnotationGraphic"/> changes.
		/// </summary>
		/// <param name="oldAnnotationGraphic">The former value of <see cref="AnnotationGraphic"/>.</param>
		/// <param name="annotationGraphic">The new value of <see cref="AnnotationGraphic"/>.</param>
		protected virtual void OnAnnotationGraphicChanged(IAnnotationGraphic oldAnnotationGraphic, IAnnotationGraphic annotationGraphic) {}
 /// <summary>
 /// Called when the <see cref="AnnotationGraphic"/> changes.
 /// </summary>
 /// <param name="oldAnnotationGraphic">The former value of <see cref="AnnotationGraphic"/>.</param>
 /// <param name="annotationGraphic">The new value of <see cref="AnnotationGraphic"/>.</param>
 protected virtual void OnAnnotationGraphicChanged(IAnnotationGraphic oldAnnotationGraphic, IAnnotationGraphic annotationGraphic)
 {
 }