我正在寻找在Windows Phone上称为LongListSelector
的视图。这是一个带有组头的列表视图。点击组标题仅显示组列表。点击组列表上的组可隐藏组列表并将视图滚动到所选组。这是一个非常有用的方式,可以轻松地在组之间进行分组。如果有其他替代方案适用于同样的目的,那也是很棒的。Xamarin.Forms的头文件(LongListSelector)ListView
1
A
回答
4
你可以做到这一点很容易:)
你需要做的第一件事是确保您的数据源是集合的集合。我会建议一个ObservableCollection>如果你想最大限度的约束善良。然后,我们可以构建我们的ListView如下:
var listView = new ListView();
listView.SetBinding (ListView.ItemsSourceProperty, "Data");
listView.ItemTemplate = new DataTemplate (typeof (MyCell));
listView.GroupHeaderTemplate = new DataTemplate (typeof (MyHeaderCell));
listView.IsGroupingEnabled = true;
listView.GroupShortNameBinding = new Binding ("Title");
为了,我们首先在我们的数据绑定,我假设这里的BindingContext会从页面继承。我们的数据应该是已经提到的集合的集合。
然后我们像在正常情况下在我们的ItemTemplate中绑定一样,我们创建一个GroupHeaderTemplate,这将成为在正常滚动过程中显示在列表中的模板。接下来,我们启用分组以告诉列表将数据用作分组集合而不是平面列表。
最后,我们为GroupShortName提供了一个绑定。这个绑定针对每个组的集合运行,以获取一个字符串(或者一个将调用ToString的对象)来生成跳转列表,如您在屏幕截图中所示。
由于性能方面的原因,您可能希望确保没有设置ItemsSource,直到所有其他设置都被设置为避免ListView尝试实现处于部分配置状态的单元格为止。这实际上不会导致错误,它只是强制ListView做更多的工作。
相关问题
- 1. Xamarin.Forms Listview
- 2. 的ListView [Xamarin.Forms]
- 3. listview里面的listview Xamarin.Forms
- 4. Xamarin.Forms中的AutomationId ListView
- 5. 用Xamarin.Forms更新ListView
- 6. 将文件绑定到longlistselector
- 7. Xamarin.Forms Listview上下文操作对于Android
- 8. Xamarin.Forms ListView单元重用?
- 9. Xamarin原生ListView在Xamarin.Forms
- 10. Xamarin.Forms ListView在特定位置
- 11. Xamarin.Forms Android的保存文件
- 12. LongListSelector链接事件
- 13. 的ListView头
- 14. Android上的Xamarin.Forms ListView OutOfMemoryError异常
- 15. Xamarin.Forms ListView禁用UWP上的选择
- 16. Xamarin.Forms FileStream - 找不到文件
- 17. xamarin.forms保存文件/图像
- 18. 如何在Xamarin.Forms IOS的listview控件中使用OxyPlot条形图?
- 19. LongListSelector和文本菜单
- 20. LongListSelector和上下文菜单
- 21. 影响的ListView头
- 22. WP8中的LongListSelector
- 23. Xamarin.Forms ListView ItemsSource - 异步更新NullReferenceException
- 24. 如何在Xamarin.Forms中创建多列ListView?
- 25. ListView ItemClick不能在Xamarin.Forms(iOS)中工作
- 26. Xamarin.Forms ListView ItemCapped Corcav.Behaviors无法正常工作?
- 27. 使用LongListSelector控件导航
- 28. SupportMapFragment ListView中头
- 29. 如何修改/添加到Django的ListView的响应头文件?
- 30. Xamarin.Forms - 上下文?