我正在开发xamarin表单跨平台应用程序。 我有listview里面有Grid和Grid里面有图像。 我想用选定的项目/图像激活事件,但我不知道如何做到这一点。
我发现这可以使用GestureRecognizers
来实现,但如何在我的viewmodel中实现
请与完整代码分享一些示例,我的意思是xaml以及背后的代码
答案 0 :(得分:5)
尝试以下代码:
<ListView x:Name="InvoiceItemList" HasUnevenRows="true" ItemsSource="{Binding InvoiceLineItems}" SeparatorVisibility="None">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Image Source="overlaybg" Aspect="Fill">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="{Binding Source={x:Reference InvoiceItemList}, Path=BindingContext.RemoveInvoiceItemCommand}" />
</Image.GestureRecognizers>
</Image>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
ViewModel代码
声明命令
public ICommand RemoveInvoiceItemCommand { get; }
构造函数中的Initalize命令
RemoveInvoiceItemCommand = new Command(() =>
{
RemoveInvoiceItem();
});
创建功能
public void RemoveInvoiceItem()
{
//Do stuff
}