private void tmPosition_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { Dispatcher.UIThread.InvokeAsync((Action)(() => { var position = _player.Position_Get(); var duration = _player.Duration(); tbTimeline.Maximum = (int)duration.TotalSeconds; lbTimeline.Text = position.ToString("hh\\:mm\\:ss", CultureInfo.InvariantCulture) + " / " + duration.ToString("hh\\:mm\\:ss", CultureInfo.InvariantCulture); if (tbTimeline.Maximum >= position.TotalSeconds) { _tbTimelineApplyingValue = false; tbTimeline.Value = position.TotalSeconds; _tbTimelineApplyingValue = true; } })); }
private void _player_OnStart(object sender, EventArgs e) { sbTimeline.Max = (int)_player.Duration().TotalMilliseconds; }