如何在自定义Xamarin.Forms ViewCell上的行之间添加分隔符空间?

在关于Xamarin论坛的这个问题中, https: //forums.xamarin.com/discussion/20517/curved-corners-in-tableview-cells Craig Dunn教授如何使用框架创建单元格。

我想在每个单元格之间添加一个空格。

目前,细胞似乎是胶合的,而ViewCell没有空间属性。

谢谢!

您只需要进一步自定义MenuCell的布局即可实现此目的。

下面显示的是一个版本,它使用另一个Xamarin.Forms.Frame在每个项目之间创建一个间距,并进行一些其他修改: –

XAML页面: –

  

XAML代码 – 背后: –

 lstItems.ItemTemplate = new DataTemplate(typeof(Classes.MenuCell)); lstItems.ItemsSource = new string[] { "Apples", "Bananas", "Pears", "Oranges" }; 

ViewCell类: –

 public class MenuCell : ViewCell { public MenuCell() { Label objLabel = new Label { YAlign = TextAlignment.Center, TextColor = Color.Yellow, }; objLabel.SetBinding(Label.TextProperty, new Binding(".")); StackLayout objLayout = new StackLayout { Padding = new Thickness(20, 0, 0, 0), Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.StartAndExpand, Children = { objLabel } }; Frame objFrame_Inner = new Frame { Padding = new Thickness(15, 15, 15, 15), HeightRequest = 36, OutlineColor = Color.Accent, BackgroundColor = Color.Blue, Content = objLayout, }; Frame objFrame_Outer = new Frame { Padding = new Thickness(0, 0, 0, 10), Content = objFrame_Inner }; View = objFrame_Outer; } } 

将导致以下结果: –

ListView与每个项目之间的间距。

我的xaml示例:

                      

在此处输入图像描述