没有内置的,但实现这一点并不难。
要设置披露指示符(箭头),请实现从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;
}
当用户点击该单元格时,您应该以模态方式导航到显示语言列表的视图。
添加 Cancel-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 知识。