У меня есть форма, которая открывается по клику.Здесь я добавляю данные о пользователях на мою SelectMultipleBasePage
async void OnClick(object sender, EventArgs ea)
{
ListofUsers = new ObservableCollection<Models.Users>();
var items = await App.Database.User.GetItemsAsync();
foreach (var user in items)
{
Settings.userList.Add(user);
}
multiPage = new SelectMultipleBasePage<Users>(items.OrderBy(x => x.Title).ToList())
{ Title = Users }
await Navigation.PushAsync(multiPage);
}
SelectMultipleBasePage
страницу содержимого:
public class SelectMultipleBasePage<T> : ContentPage
{
public class WrappedSelection<T> : INotifyPropertyChanged
{
public T Item { get; set; }
}
public class WrappedItemSelectionTemplate : ViewCell
{
public WrappedItemSelectionTemplate() : base()
{
Label Title = new Label()
//and other fields
View = grid;
}
}
public List<WrappedSelection<T>> WrappedItems = new List<WrappedSelection<T>>();
А вот SelectMultipleBasePage
с WrappedItems
, который я пытаюсьобновить, чтобы получить новые данные.
public SelectMultipleBasePage(List<T> items)
{
WrappedItems = items.Select(item => new WrappedSelection<T>() { Item = item, IsSelected = false }).ToList();
ListView mainList = new ListView()
{
ItemsSource = WrappedItems,
ItemTemplate = new DataTemplate(typeof(WrappedItemSelectionTemplate)),
IsPullToRefreshEnabled = true,
};
Как правильно добавлять или удалять элементы на моей странице с помощью wrappeditems
.Команды mainlist.Itemsource.Add
или mainlist.Itemsource.Clear
отсутствуют.Я пробовал разные способы, но безрезультатно.Надеюсь на некоторые советы.
mainList.Refreshing += (sender, e) => {
//...
};