我需要將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? –