/// <summary> /// calculates how much the (scaled) image is outside the visible area /// </summary> private void SetMaxPanValues() { var rect = new Rect(0, 0, _mediaWidth, _mediaHeight); var bounds = Media1.TransformToAncestor(Border1).TransformBounds(rect); _maxX = (bounds.Width > Window1.Width) ? (bounds.Width - Window1.Width) / 2.0 : 0; _maxY = (bounds.Height > Window1.Height) ? (bounds.Height - Window1.Height) / 2.0 : 0; }
/// <summary> /// handles the start of a drag operation /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Image1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (_isImageLoaded && Media1.CaptureMouse()) { var tt = (TranslateTransform)((TransformGroup)Media1.RenderTransform).Children.First(tr => tr is TranslateTransform); _start = e.GetPosition(Border1); _origin = new Point(tt.X, tt.Y); } }
private void PlayButton_Click(object sender, RoutedEventArgs e) { if (playButton1.Content.ToString() == "Play") { Media1.Play(); playButton1.Content = "Pause"; } else { Media1.Pause(); playButton1.Content = "Play"; } }
private void Media1_Loaded(object sender, RoutedEventArgs e) { Media1.Position = TimeSpan.Zero; Media1.Play(); }
private void MediaElement1_MediaEnded(object sender, RoutedEventArgs e) { Media1.Stop(); Media1.Position = TimeSpan.Zero; Media1.Play(); }
private void RestartButton_Click(object sender, RoutedEventArgs e) { Media1.Stop(); Media1.Play(); }
private void StopButton_Click(object sender, RoutedEventArgs e) { playButton1.Content = "Play"; Media1.Stop(); }
/// <summary> /// releases the mouse capture /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Image1_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { Media1.ReleaseMouseCapture(); }