2015-08-21 2 views
1

Я пытаюсь реализовать Listview с Checkbox controll в каждом элементе Listview. Если я хочу удалить два элемента, я проверю эти два элемента и удалю их удалить. . Я больше изучил эту концепцию, но не смог найти ни одного демонстрационного примера в Github.Создать Multiselect Listview с Xamarin Forms (Xamarin Cross Platform)

Язык программирования: Xamarin не работает в Xamarin android или Xamain IOS. Я уже знаю, как реализовать на этих платформах. Но у меня нет какого-либо образца кода, по крайней мере, для лучшего понимания операции «Multiselect and deletion in Xamarin Forms»,

+0

Я предполагаю, что вы просмотрели все [образцы Xamarin.Forms] (https://github.com/xamarin/xamarin-forms-samples)? – rubenvb

+0

Вы пробовали использовать пользовательские ячейки в своем списке? – germi

ответ

4

или создавать пользовательские ViewCell макет (https://developer.xamarin.com/guides/cross-platform/xamarin-forms/user-interface/listview/customizing-cell-appearance/ - пользовательские ячейки глава)

  • Bind SwitchCell.OnProperty или YourCustomViewCell.Checkbox.CheckedProperty с ViewModel.ObservableCollection.IsChecked собственности (как в примере SwitchEntryTwoBinding)

  • Тогда вы могли бы сделать Button или ToolbarItem, который вызывает метод, который перебирает каждый элемент в ViewModel.ObservableCollection и удаляет его, если IsChecked=true.

+0

Вот мой код для этого, когда я нажимаю кнопку «Удалить», проверенные строки в Элементе должны быть удалены из списка [Xamarin Forms]. – user3783920

0

Сначала создайте пользовательскую ячейку с помощью переключателя (или реализуйте SwitchCell). Затем привяжите значение переключателя к bool в вашей модели данных. Затем, на событии с нажатой кнопкой, простой запрос Linq должен сделать трюк.

Убедитесь, что ваш список товаров является ObservableCollection, поэтому при удалении элементов изменения корректно распространяются в ListView.

0

Здесь мы создали элемент управления Multi Select ListView. Он работает на всех платформах и не имеет специфического для платформы кода. https://github.com/MelbourneDeveloper/Adapt.Presentation/blob/master/Adapt.Presentation.Standard/Adapt/Presentation/Controls/AdaptListView.cs

Существует полная выборка включала здесь: https://github.com/MelbourneDeveloper/Adapt.Presentation.git

Это работает очень хорошо с поведением асинхронным. То есть вы можете установить ItemsSource или SelectedItems в любом порядке. Существует многопрофильным выбрать образец в репо: https://github.com/MelbourneDeveloper/Adapt.Presentation.git

Существует также поведение для переключения в режим выбора с помощью кнопки, так что вы можете спрыгнуть к выбранной записи или выбрать несколько записей в ListView: https://github.com/MelbourneDeveloper/Adapt.Presentation/blob/master/Adapt.Presentation.Standard/Adapt/Presentation/Behaviours/AdaptListViewSelectionModeToggleBehavior.cs

Такое поведение связано, потому что это позволит удалить выбранные элементы из ListView: https://github.com/MelbourneDeveloper/Adapt.Presentation/blob/master/Adapt.Presentation.Standard/Adapt/Presentation/Behaviours/RemoveFromCollectionBehavior.cs

к сожалению, это в настоящее время не поддерживает CheckBoxes, но функциональность работает без необходимости для флажков, и мы может добавить эту функцию в futu число рейнольдса

Смежные вопросы