Флажок в ListView (MVVM) | Xamarin формы - PullRequest
0 голосов
/ 11 февраля 2020

Я создаю приложение ToDo в формах Xamarin. У меня есть проблема с флажком в Listview, где отображаются задачи. Я не могу узнать, как получить задачу после того, как флажок установлен ...

Флажок в XAML:

<CheckBox IsChecked="{Binding IsChecked, Mode=TwoWay}" Grid.Row="0" Grid.Column="1" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" />

Метод получения информации, если флажок установлен во ViewModel:

    private bool isChecked;
    public bool IsChecked
    {
        get { return isChecked; }
        set
        {
            if (isChecked != value)
            {
                isChecked = value;
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs("IsSelected"));
                    App.Current.MainPage.DisplayAlert("Title", " item have been selected", "Cancel");

                }
            }
        }
    }

Буду благодарен за каждое предложение по внедрению в MVVM.

1 Ответ

0 голосов
/ 11 февраля 2020

MVVM Approch:

Если ваш флажок находится внутри списка, тогда его binding property будет в вашем Model, а не в ViewModel. Чтобы получить все проверенные значения, вы можете использовать предложение LinQ, Where для получения данных из вашего списка на основе условия, в котором bool IsChecked равно true

Примером предложения Where может быть:

var CheckedItemList= yourList.Where(m => m.IsChecked== true).ToList();

Пожалуйста, перейдите по ссылке ниже, чтобы узнать больше о , как работают привязки списка в MVVM

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...