Мне нужно отправить параметр ObservableCollection как параметр в свою собственную ячейку просмотра, которая вызывается через DataTemplateSelector. Есть идеи?Listview DataTemplateSelector передать параметр DataTemplate
Я хочу удалить один Listviewitem, когда пользователи нажимают кнопку, содержащуюся на каждом элементе.
Вот код в TemplateSelector:
private readonly DataTemplate templateOne;
private readonly DataTemplate templateTwo;
public ItemTemplateSelect(ObservableCollection<Item> _items)
{
templateOne = new DataTemplate(typeof(TemplateOneCell));
templateTwo = new DataTemplate(typeof(TemplateTwoCell));
}
protected override DataTemplate OnSelectTemplate(object item, BindableObject container)
{
if (((Item)item).status == -1)
{
return templateOne; <---- Here I want to send '_items' as parameter
}
else
{
return templateTwo;
}
}
Вот пример моего viewcell:
public class ContactCell : ViewCell
{
public ContactCell()
{
var okButton = new Button()
{
Text = "OK"
};
okButton.Clicked += okButton_Clicked;
var frame = new Frame
{
Padding = 0,
Margin = 0,
Content = okButton
};
View = frame;
}
private async void okButton_Clicked(object sender, EventArgs e)
{
-------------> delete current item
}
}
Спасибо заранее.
В общем, вы не проходите элемент. Вы используете привязку данных к значениям атрибутов. Можете ли вы привести мне пример вашего вида клетка? –
Хорошо, я обновил сообщение с помощью моего примера с образцом. Все это связано с тем, что я не знаю, как обрабатывать событие okButton_Clicked из родительской формы. – Jose
То, что я понимаю, это то, что у вас есть список, и каждый элемент в нем содержит кнопку удаления ... и когда нажата кнопка «Удалить», которую вы хотите удалить? Или вы хотите изменить datatemplate? –