我正在创建一个包含按钮的自定义ViewCell
,我需要在ContentPage
答案 0 :(得分:0)
在按钮的xaml代码中,添加Clicked事件: 点击= “ButtonClicked”
然后在.xaml.cs类中添加方法
void ButtonClicked(object sender, EventArgs e)
{
...
}
答案 1 :(得分:0)
如果您希望链接到列表中的项目的事件,您需要绑定Command。
XAML:
<Button Text="{Binding ButtonText}" Command="{Binding ButtonClickedCommand}" />
并且,假设您将ViewCell附加到ListView,则应将以下内容添加到ItemSource绑定的类中:
public ICommand ButtonClickedCommand
{
get
{
return new Command(ButtonClicked);
}
}
public ButtonClicked()
{
//Handle the button click logic here
}
答案 2 :(得分:0)
如果我理解正确,则不会公开视单元内的按钮,因此您可以在viewcell
内为按钮单击事件创建公共事件,并在单击按钮时调用它。
CustomViewCell:
public delegate void ClickEventHandler(object sender, EventArgs e);
public event ClickEventHandler ClickEvent;
void ButtonClick(object sender, EventArgs args)
{
ClickEvent(this, args);
}
ContentPage:
//.xmal
<ListView x:Name="listView" RowHeight="50">
<ListView.ItemTemplate>
<DataTemplate>
<local:CustomViewCell ClickEvent="ButtonClick"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
//.cs
void ButtonClick(object sender, EventArgs args)
{
CustomViewCell cell = sender as CustomViewCell;
object context = cell.BindingContext;//here you can get index or something else
}