From 422ea41ab964d284fd09a34ef669ba6905670a19 Mon Sep 17 00:00:00 2001 From: Anandh-SF4665 Date: Tue, 9 Sep 2025 16:33:08 +0530 Subject: [PATCH] Updated the README.md file --- README.md | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/README.md b/README.md index 6b90836..460cee5 100644 --- a/README.md +++ b/README.md @@ -1 +1,114 @@ **[View document in Syncfusion Xamarin Knowledge base](https://www.syncfusion.com/kb/12276/how-to-reset-the-swipe-using-mvvm-in-xamarin-forms-listview-sflistview)** + + +## Sample + +```xaml + + + + + + + + + + + + . . . + . . . + + + + + + + + + + . . . + . . . + + + + + +C#: + +void OnEvent(object sender, object eventArgs) +{ + if (Command == null) + { + return; + } + + object resolvedParameter = null; + if (CommandParameter != null) + { + resolvedParameter = new CustomCommandParameter((sender as ImageButton).BindingContext, CommandParameter as SfListView); + } + + if (Command.CanExecute(resolvedParameter)) + { + Command.Execute(resolvedParameter); + } +} + +static void OnEventNameChanged(BindableObject bindable, object oldValue, object newValue) +{ + var behavior = (EventToCommandBehavior)bindable; + if (behavior.AssociatedObject == null) + { + return; + } + + string oldEventName = (string)oldValue; + string newEventName = (string)newValue; + + behavior.DeregisterEvent(oldEventName); + behavior.RegisterEvent(newEventName); +} + +internal class CustomCommandParameter +{ + public SfListView ListView { get; set; } + public object CommandParameter { get; set; } + + public CustomCommandParameter(object commandParameter, SfListView sfListView) + { + CommandParameter = commandParameter; + ListView = sfListView; + } +} + +ViewModel.cs: + +public Command SetFavoriteCommand { get; set; } + +SetFavoriteCommand = new Command(SetFavorites); + +private void SetFavorites(object obj) +{ + var customCommandParameter = obj as CustomCommandParameter; + (customCommandParameter.CommandParameter as ListViewInboxInfo).IsFavorite = !(customCommandParameter.CommandParameter as ListViewInboxInfo).IsFavorite; + customCommandParameter.ListView.ResetSwipe(); +} + +Converter: +public class SwipingBoolToImageConverter : IValueConverter +{ + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if ((bool)value) + return ImageSource.FromResource("ListViewXamarin.Images.Favorites.png"); + else + return ImageSource.FromResource("ListViewXamarin.Images.InboxIcon.png"); + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } +} +``` \ No newline at end of file