Quantcast
Channel: Xamarin.Forms — Xamarin Community Forums
Viewing all articles
Browse latest Browse all 77050

MVVM Listview doesn't update view.

$
0
0

Hi! Thanks for reading this.
I'm try to use MVVM for change some values over listview's items. I update Model but no changes on View.

This is my Listview definition :

My code behind :

void Handle_ItemSelected(object sender, Xamarin.Forms.SelectedItemChangedEventArgs e)
{
if (OldItem != null)
OldItem.IsSelected = false;

        OldItem = ((Provider)e.SelectedItem);
    }

This is used for going back IsSelected property when item is not selected anymore.

My view model:

public class AllProvidersViewModel : ContentPage, INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;

    ObservableCollection<Group> _proveedores = new ObservableCollection<Group>();
    public ObservableCollection<Group> Proveedores
    {
        get { return _proveedores; }
    }


    private Provider _selItem;

    public Provider SelItem
    {
        get { return _selItem; }
        set
        {
            if (value != null)
            {
                _selItem = value;
                _selItem.IsSelected = true;
                _selItem.Level = 1;   //Only for test!
                _selItem.RazonSocial = "I've changed!";  // It never changes on view. 
                OnPropertyChanged("SelItem");

            }

        }
    }

protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}

}
}

Model:

public class Group : ObservableCollection
{

    public string Initial { get; set; }

    public Group(string initial)
    {
        Initial = initial;
    }
}

public class Provider {

public bool IsSelected {get; set;}

public Level {get; set;}
public RazonSocial {get; set}
}

Some code was removed intentionally-

So, There is not problem for populate the listview. All data is in it.
When I select an item, set method on SelItem is called. It change IsSelected, Level and RazonSocial in the model, but view doesn't change.
If I select another item, and then select previous item again, _selItem keep changes, but the view never show that changes.

Any Clue?

Thanks!

Gaston


Viewing all articles
Browse latest Browse all 77050

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>