Thread ID: |
Created: |
Updated: |
Platform: |
Replies: |
145512 | Jun 26,2019 07:42 AM UTC | Jun 28,2019 11:18 AM UTC | Xamarin.Forms | 5 |
![]() |
Tags: SfListView |
private void UpdateListView(int index)
{
SelectedItem = bookInfo[index];
ListView.LayoutManager.ScrollToRowIndex(index, ScrollToPosition.Center, false);
} |
<sync:SfListView x:Name="listView">
<sync:SfListView.Behaviors>
<local:ListViewBehavior/>
</sync:SfListView.Behaviors>
</sync:SfListView> |
public class ListViewBehavior : Behavior<SfListView>
{
BookInfoViewModel ViewModel;
SfListView ListView;
protected override void OnAttachedTo(SfListView listView)
{
ListView = listView;
listView.Loaded += ListView_Loaded;
base.OnAttachedTo(listView);
}
protected override void OnDetachingFrom(SfListView listView)
{
listView.Loaded -= ListView_Loaded;
ViewModel.PropertyChanged -= ViewModel_PropertyChanged;
ViewModel = null;
ListView = null;
base.OnDetachingFrom(listView);
}
private void ListView_Loaded(object sender, ListViewLoadedEventArgs e)
{
ViewModel = ListView.BindingContext as BookInfoViewModel;
ViewModel.PropertyChanged += ViewModel_PropertyChanged;
ViewModel.SelectedIndex = 2;
}
private void ViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "SelectedIndex")
{
ViewModel.SelectedItem = ViewModel.BookInfo[ViewModel.SelectedIndex];
ListView.LayoutManager.ScrollToRowIndex(ViewModel.SelectedIndex, ScrollToPosition.Center, false);
}
}
} |
This post will be permanently deleted. Are you sure you want to continue?
Sorry, An error occured while processing your request. Please try again later.
This page will automatically be redirected to the sign-in page in 10 seconds.