Я пытаюсь реализовать CollectionView, как показано на рисунке ниже. Как видите, если элемент выбран, то в правом верхнем углу у него стоит соответствующая галочка

Сначала я пытался найти идентификатор категории AbstractLayout в событии SelectionChanged и уже внутри него искал элемент с именем = "showIfSelected", но при поиске внутри CollectionView всегда получал null. Я прочитал несколько статей о том, почему это так, но решения проблемы так и не нашел. Может быть, кто-нибудь подскажет, как в итоге добиться нужного мне результата?
.xaml:
... ... .xaml.cs:
публичный частичный класс CatalogPage: ContentPage { public CatalogPage (CatalogPageViewModel viewModel) { ИнициализироватьКомпонент(); BindingContext = ViewModel; } частная пустота CollectionView_SelectionChanged (отправитель объекта, SelectionChangedEventArgs e) { var prev = e.PreviousSelection.Select(x => (Category)x).ToList(); var current = e.CurrentSelection.Select(x => (Category)x).ToList(); var unselected = prev.ExceptBy(current.Select(x => x.Id), x => x.Id).ToList(); foreach (элемент var не выбран) { var макет = this.FindByName($"{item.Id}"); var image = layout.FindByName("showIfSelected"); изображение.IsVisible = ложь; } var selected = current.ExceptBy(prev.Select(x => x.Id), x => x.Id).ToList(); foreach (элемент var в выбранном) { var макет = this.FindByName($"{item.Id}"); var image = layout.FindByName("showIfSelected"); изображение.IsVisible = правда; } } }
Мобильная версия