Поскольку вы спрашивали, что вы можете сделать, кроме использования TableView
, конечно, Grid
будет возможно, смотрите следующий пример:
<Grid VerticalOptions="StartAndExpand">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <!-- for the label -->
<ColumnDefinition Width="*" />
<Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="1" /> <!-- For the separator, you might have to experiment with the height -->
<RowDefinition Height="*" />
<RowDefinition Height="1" />
</Grid.RowDefinitions>
<Label Text="Item 1" />
<Entry Grid.Row="0" Grid.Column="1" />
<BoxView BackgroundColor="Black"
HeightRequest="1"
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="2" /> <!-- The separator -->
<Label Grid.Row="2" Grid.Column="0" Text="Item 2" />
<Entry Grid.Row="2" Grid.Column="1" />
<BoxView BackgroundColor="Black"
HeightRequest="1"
Grid.Row="3"
Grid.Column="0"
Grid.ColumnSpan="2" /> <!-- The separator -->
</Grid>
Я использую BoxView
s с черным цветом фона и HeightRequest
из 1
для разделителя. Возможно, вам придется поэкспериментировать с цветом и высотой, чтобы получить желаемые результаты. Значения ниже 1
возможны и приводят к более тонким линиям. В реальном примере я использовал .5
.
В любом случае, это делает XAML более загроможденным. Grid
-дизайны (в то время как я сам их использую) имеют тенденцию становиться довольно громоздкими.