private void SetSource()
        {
            if (Source != null)
            {
                Uri uri      = new Uri(Source.FullPath);
                var timeline = new System.Windows.Media.MediaTimeline(uri);

                player.Source = uri;

                timeline.BeginTime = PositionTimer;
                player.Clock       = timeline.CreateClock();
                //s.Position = s.PositionTimer;
                UpdateCurrentHighlights();
            }
        }
        private static void OnSourcePropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            var s     = (HighlightMediaElement)sender;
            var value = (MediaFile)e.NewValue;

            try
            {
                if (value != null)
                {
                    Uri uri = new Uri(value.FullPath);
                    s.player.Source = uri;
                    var timeline = new System.Windows.Media.MediaTimeline(new Uri(value.FullPath));
                    timeline.BeginTime = s.PositionTimer;
                    s.player.Clock     = timeline.CreateClock();
                    //s.Position = s.PositionTimer;
                    s.UpdateCurrentHighlights();
                }
            }
            catch
            {
                s.Source = null;
            }
        }