Вам просто нужно добавить свойство Selected
к вашей модели JourneyItems
, а затем даже BackgroundColor.
public class JourneyItem {
// more stuff
public bool Selected { get; set; }
public Color BackgroundColor => Selected ? Color.Blue : Color.Gray;
public Color TextColor => Selected ? Color.White : Color.Black;
}
Затем связать BackgroundColor
и TextColor
, чтобы изменить цвет X, когдаSelected
равно true
и цвет Y в противном случае.
<Label Text="{Binding Name}" TextColor="{Binding TextColor}" BackgroundColor="{Binding BackgroundColor}"/>
Наконец, в ViewModel.SwitchJourneyCommand
установите для выбранной модели значение true
, а для всех остальных моделей - false
.
public void OnJourneyCommand(JourneyItem selectedItem) {
foreach(JourneyItem item in JourneyItems) {
item.Selected = item.Id == selectedItem.Id;
}
}