How to use ListView events using prism framework in Xamarin.Forms?
You can use SwipeEnded event in Prism Framework using Behavior in Xamarin.Forms ListView.
XAML
Defined left and right swipe template.
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:ListViewXamarin" xmlns:syncfusion="clr-namespace:Syncfusion.ListView.XForms;assembly=Syncfusion.SfListView.XForms" x:Class="ListViewXamarin.MainPage"> <ContentPage.Behaviors> <local:Behavior/> </ContentPage.Behaviors> <ContentPage.Content> <StackLayout> <syncfusion:SfListView x:Name="listView" ItemSize="60" ItemsSource="{Binding ContactsInfo}" AllowSwiping="True" SwipeOffset="120"> <syncfusion:SfListView.ItemTemplate > <DataTemplate> <Grid x:Name="grid"> <Grid.ColumnDefinitions> <ColumnDefinition Width="70" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Image Source="{Binding ContactImage}" VerticalOptions="Center" HorizontalOptions="Center" HeightRequest="50" WidthRequest="50"/> <Grid Grid.Column="1" RowSpacing="1" Padding="10,0,0,0" VerticalOptions="Center"> <Label LineBreakMode="NoWrap" TextColor="#474747" Text="{Binding ContactName}"/> <Label Grid.Row="1" Grid.Column="0" TextColor="#474747" LineBreakMode="NoWrap" Text="{Binding ContactNumber}"/> </Grid> </Grid> </DataTemplate> </syncfusion:SfListView.ItemTemplate> <syncfusion:SfListView.LeftSwipeTemplate> <DataTemplate> <Grid BackgroundColor="SlateBlue"> <Label Text="Left swipe view" HorizontalOptions="Center" VerticalOptions="Center"/> </Grid> </DataTemplate> </syncfusion:SfListView.LeftSwipeTemplate> <syncfusion:SfListView.RightSwipeTemplate> <DataTemplate> <Grid BackgroundColor="SlateBlue"> <Label Text="Right swipe view" HorizontalOptions="Center" VerticalOptions="Center"/> </Grid> </DataTemplate> </syncfusion:SfListView.RightSwipeTemplate> </syncfusion:SfListView> </StackLayout> </ContentPage.Content> </ContentPage>
C#
Trigger SwipeEnded event for ListView and reset the swipe based on SwipeOffset value using the ResetSwipe method in the Behavior class.
namespace ListViewXamarin { public class Behavior : Behavior<ContentPage> { SfListView ListView; protected override void OnAttachedTo(ContentPage bindable) { ListView = bindable.FindByName<SfListView>("listView"); ListView.SwipeEnded += ListView_SwipeEnded; base.OnAttachedTo(bindable); } private void ListView_SwipeEnded(object sender, SwipeEndedEventArgs e) { if (e.SwipeOffset > 100) ListView.ResetSwipe(); } } }
Conclusion
I hope you enjoyed learning about how to use ListView events using prism framework in Xamarin.Forms.
You can refer to our Xamarin.Forms ListView feature tour page to know about its other groundbreaking feature representations. You can also explore our Xamarin.Forms ListView documentation to understand how to create and manipulate data.
For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.
If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!