private void SetSelectedItem(int direction) { if (SelectedItem == null) { SelectedItem = Pins.FirstOrDefault(); } var index = Pins.IndexOf(SelectedItem as IMapPin); var newIndex = (index + direction) % (Pins.Count); if (newIndex < 0) { newIndex = Pins.Count - 1; } SelectedItem = Pins[newIndex]; }