Skip to content

Commit 9301009

Browse files
Merge pull request #4 from Anandh-SF4665/master
Updated the README.md file
2 parents f8e2b7b + 10f3d54 commit 9301009

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

README.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,84 @@
22

33
This example demonstrates how to notify item selection using MVVM in Xamarin.Forms listview.
44

5+
## Sample
6+
7+
```xaml
8+
<Grid>
9+
<listView:SfListView x:Name="listView" ItemSize="70" ItemSpacing="0,0,5,0"
10+
ItemsSource="{Binding contactsinfo}" IsStickyHeader="True" TapCommand="{Binding }"
11+
SelectionMode="Multiple" IsStickyGroupHeader="True" GroupHeaderSize="50">
12+
<listView:SfListView.Behaviors>
13+
<local:EventToCommandBehavior EventName="SelectionChanged"
14+
Command="{Binding SelectionChangedCommand}"
15+
Converter="{StaticResource EventArgs}" />
16+
</listView:SfListView.Behaviors>
17+
<listView:SfListView.ItemTemplate>
18+
<DataTemplate>
19+
<ViewCell>
20+
<ViewCell.View>
21+
<Grid x:Name="grid" RowSpacing="1">
22+
<code>
23+
. . .
24+
. . .
25+
<code>
26+
</Grid>
27+
</ViewCell.View>
28+
</ViewCell>
29+
</DataTemplate>
30+
</listView:SfListView.ItemTemplate>
31+
</listView:SfListView>
32+
</Grid>
33+
34+
ViewModel.cs:
35+
Command<object> selectionChangedCommand;
36+
37+
public Command<object> SelectionChangedCommand
38+
{
39+
get { return selectionChangedCommand; }
40+
protected set { selectionChangedCommand = value; }
41+
}
42+
43+
public ObservableCollection<Contacts> contactsinfo { get; set; }
44+
45+
public ContactsViewModel()
46+
{
47+
selectionChangedCommand = new Command<object>(OnSelectionChanged);
48+
contactsinfo = new ObservableCollection<Contacts>();
49+
Random r = new Random();
50+
foreach (var cusName in CustomerNames)
51+
{
52+
var contact = new Contacts(cusName, r.Next(720, 799).ToString() + " - " + r.Next(3010, 3999).ToString());
53+
contact.ContactImage = ImageSource.FromResource("PassItemData.Images.Image" + r.Next(0, 28) + ".png");
54+
contactsinfo.Add(contact);
55+
}
56+
}
57+
58+
public void OnSelectionChanged(object obj)
59+
{
60+
var eventArgs = obj as ItemSelectionChangedEventArgs;
61+
62+
for (int i = 0; i < eventArgs.RemovedItems.Count; i++)
63+
{
64+
var item = eventArgs.RemovedItems[i] as Contacts;
65+
if (item.IsSelected)
66+
{
67+
item.IsSelected = false;
68+
App.Current.MainPage.DisplayAlert("Message", "Item removed from selected item", "ok");
69+
}
70+
}
71+
for (int i = 0; i < eventArgs.AddedItems.Count; i++)
72+
{
73+
var item = eventArgs.AddedItems[i] as Contacts;
74+
if (!item.IsSelected)
75+
{
76+
item.IsSelected = true;
77+
App.Current.MainPage.DisplayAlert("Message", "Item added into selected item", "ok");
78+
}
79+
}
80+
}
81+
```
82+
583
See [How to notify item selection using MVVM in Xamarin.Forms ListView](https://www.syncfusion.com/kb/9961/how-to-notify-item-selection-using-mvvm-in-xamarin-forms-listview) for more details.
684

785
## Requirements to run the demo

0 commit comments

Comments
 (0)