我有一个xamarin表单应用程序搜索屏幕,允许用户从列表中选择一个项目。目前我正在使用选项列表,用户必须滚动并选择并单击完成。这是使用本机控件。 Howerver我在iOS中已经注意到设置菜单等已经设计好它,当用户想要从列表中选择时,右侧会显示一个箭头,将它们带到另一个页面以从中选择一个项目。名单。对我来说这似乎是一个更好的用户体验。这是一个例子:
我的问题是,这种内置xamarin形式的内容是什么?我想我可以创建一个列表视图,然后点击传递到另一个页面。任何例子都表示赞赏。
答案 0 :(得分:1)
没有内置功能,但要实现这一目标并不难。
要设置公开指示符(箭头),请实现从ImageCellRenderer
派生的自定义渲染器并覆盖GetCell
public override UITableViewCell GetCell(Cell item, UITableViewCell reusableCell, UITableView tv)
{
var viewCell = base.GetCell(item, reusableCell, tv);
viewCell.Accessory = UITableViewCellAccessory.DisclosureIndicator;
return viewCell;
}
当用户点击该单元格时,您应该以模态方式导航到显示语言列表的视图。
添加取消 -Button也不是很难,但还需要另一步。您需要将新语言选择页面包装在NavigationPage
中并以模拟方式推送NavigationPage
。此外,您必须将工具栏项添加到包装页面(see here)。
在页面中有一个SearchBar
视图和一个ListView
。要添加复选标记,您必须使用自定义渲染器(从上面显示的ImageCellRenderer
派生)实现自定义单元格,如果自定义单元格将UITableViewCell.Accessory
设置为Checkmark
被选中
if(item is SelectableCell selectableCell)
{
var selected = selectableCell.IsSelected;
viewCell.Accessory = selected ? UITableViewCellAccessory.Checkmark : UITableViewCellAccessory.Checkmark;
}
请注意:可选单元格不是Xamarin.Forms单元格,而是您必须自己实现的单元格,包括可绑定属性IsSelected
。
这基本上应该是您实现目标所需的步骤。我已经假设了填补空白所需的基本Xamarin.Forms知识。