Это похоже на действительно примитивную проблему и должно быть разрешено с измененным свойством. Но вот мой вопрос:Xamarin Forms Listview disbale cell highlight
- Пользователь выбирает ячейку из списка.
- Я переопределяю цвет фона для ячейки и задаю соответствующий цвет (у нас разные цветовые темы).
- Когда я возвращаюсь к своему списку и снова выбираю тот же элемент, ячейка проходит через тот же код, что и раньше, но выделенный цвет по умолчанию.
Один из способов обойти это, что я видел, - NOT
, установив SelectedItem
на нуль. Что я делаю, потому что, если я этого не сделаю, и я вернусь к своему списку, я не могу выбрать тот же элемент.
Вы можете подумать, что у Xamarin есть свойство в списке HighlightCellSelection
, и я могу просто установить его на false. Anywho, так или иначе?
Вот мой код:
ListView.ItemSelected += (s, e) =>
{
((ListView)s).BackgroundColor = App.IsDarkThemeEnabled() ? Xamarin.Forms.Color.Black : Xamarin.Forms.Color.White;
XamarinMobile.ViewModels.GridCellViewModel cell = (XamarinMobile.ViewModels.GridCellViewModel)e.SelectedItem;
((ListView)s).SelectedItem = null;
}
Кроме того, в моем связывающим контексте, который делает то же самое:
this.Tapped += (s, e) => {
this.View.BackgroundColor = App.IsDarkThemeEnabled() ? Xamarin.Forms.Color.Black : Xamarin.Forms.Color.White;
};