void _media_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
        {
            OnMarkerReached(e.Marker);
            if (string.Compare(e.Marker.Type, "marker", StringComparison.InvariantCultureIgnoreCase) <= 0)
            {
                if (_activeMarker != null)
                {
                    _activeMarker.Animate.Stop();
                }

                Marker marker;
                _markers.TryGetValue(e.Marker.Time, out marker);
                if (marker != null)
                {
                    _activeMarker = marker;
                    marker.Animate.Begin();
                }
            }
        }
        private void PlaceMarkers()
        {
            foreach (TimelineMarker timeLineMarker1 in _media.Markers)
            {
                if (string.Compare(timeLineMarker1.Type, "marker", StringComparison.InvariantCultureIgnoreCase) >= 0)
                {
                    //place a marker in relation to timeline
                    Marker marker = new Marker();
                    marker.TimelineMarker = timeLineMarker1;
                    marker.Text = timeLineMarker1.Text;
                    marker.HorizontalAlignment = HorizontalAlignment.Left;

                    marker.Clicked += new MediaPlayer.MarkerEventHandler(marker_Clicked);
                    //set width based on percentage of text

                    marker.VerticalAlignment = VerticalAlignment.Top;
                    double positionOfArrow = CalculateMarkerPosition(timeLineMarker1, sliderTimeline.ActualWidth);

                    marker.ArrowPosition = positionOfArrow;

                    this.GridCol2.Children.Add(marker);

                    _markers.Add(timeLineMarker1.Time, marker);
                }
            }
        }