protected override void OnTrackEnded(TrackEndedTrackInteractiveOverlayEventArgs e) { if (FileLinkable && (tempBaseShape == null || tempBaseShape.GetWellKnownText() != e.TrackShape.GetWellKnownText())) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Multiselect = false; Feature tempFeature = TrackShapeLayer.InternalFeatures.FirstOrDefault(f => f.GetWellKnownText().Equals(e.TrackShape.GetWellKnownText())); if (openFileDialog.ShowDialog().GetValueOrDefault()) { tempBaseShape = e.TrackShape; SetLinkFileName(tempFeature, openFileDialog.FileName); } else { TrackShapeLayer.InternalFeatures.Remove(tempFeature); } SetDefaultColumnValue(AnnotaionStyleType.FileLinkStyle); } else { SetDefaultColumnValue(); } var lastFeature = TrackShapeLayer.InternalFeatures.LastOrDefault(); if (lastFeature != null) { lastFeature.Id = NewFeatureName(); } GisEditor.UIManager.BeginRefreshPlugins(new RefreshArgs(this, RefreshArgsDescription.OnTrackEndedDescription)); base.OnTrackEnded(e); }