private void Timer_Tick(object sender, EventArgs e) { if (TrackPositions.Any() && Player.CurrentPosition < TrackPositions.Count) { if (!MainMap.Children.Contains(_pinCar)) { MainMap.Children.Add(_pinCar); } var point = TrackPositions[Player.CurrentPosition]; _pinCar.Location = new Location(point.Latitude, point.Longitude); TrackPositionsDataGrid.SelectRowByIndex(Player.CurrentPosition); Player.CurrentPosition++; if (NewImitationTrackGpsDevicesDataGrid.Items.Count > 0 && NewImitationTrackGpsDevicesDataGrid.SelectedIndex != -1) { var device = (GpsDevice)NewImitationTrackGpsDevicesDataGrid.SelectedItem; var devIndex = NewGpsDevices.IndexOf(device); NewGpsDevices[devIndex].CurrentTrackPosition = Player.CurrentPosition; } } else { Player.Timer.Stop(); Player.CurrentPlayPauseState = false; } }
private void PlayerSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e) { if (TrackPositions.Count > 0) { TrackPositionsDataGrid.SelectRowByIndex((int)Player.PlayerSlider.Value); } }