private void ProgressBar_ValueChanged(object sender, RangeBaseValueChangedEventArgs e) { if (_isDragging) { CurrentPosition.Text = TimeSpanConverter.Covert(e.NewValue); if (IsSeekingInstant) { PlaybackService.Instance.CurrentPlayer.Position = TimeSpan.FromSeconds(e.NewValue); } else { _lastSeekPosition = e.NewValue; } } }
private void Songtimer_Tick(object sender, object e) { if (_isDragging) { return;//拖拽时不改变数值 } var player = PlaybackService.Instance.CurrentPlayer; var total = player.NaturalDuration.TotalSeconds; if (ProgressBar.Maximum != total) { ProgressBar.Maximum = total; NaturalDuration.Text = TimeSpanConverter.Covert(total); } var cur = player.Position.TotalSeconds; ProgressBar.Value = cur; CurrentPosition.Text = TimeSpanConverter.Covert(cur); }