Пользовательская реализация CollectionViewC#

Место общения программистов C#
Ответить
Гость
 Пользовательская реализация CollectionView

Сообщение Гость »


Я пытаюсь реализовать 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 = правда; } } }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»