Я создаю свое первое приложение для форм Xamarin из WPF.Я столкнулся с нежелательным автоматическим макетом ContentPage
, который содержит вложенный Listview
.Данные в модели представления представляют собой набор Groups
, где каждый Group
содержит набор Users
.
. Представление пользователей одной группы выглядит следующим образом:
![enter image description here](https://i.stack.imgur.com/475h1.png)
Но между первой и второй группой существует огромный разрыв: ![enter image description here](https://i.stack.imgur.com/TGZv5.png)
XAML:
<ContentPage.Content>
<ListView ItemsSource="{Binding Groups}" Margin="4"
x:Name="lstGroups">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid Margin="0,0,0,4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid VerticalOptions="Start" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition />
</Grid.RowDefinitions>
<Label Text="{Binding Name}" />
<ListView Grid.Row="1" ItemsSource="{Binding Users}"
VerticalOptions="Center"
IsVisible="{Binding Source={x:Reference lstGroups},Path=Selected}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid Margin="0,0,0,2" VerticalOptions="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Label Text="{Binding ShortName}" />
<Switch IsToggled="{Binding IsSelected}" Grid.Column="1" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
<Switch IsToggled="{Binding IsSelected}" Grid.Column="1" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.Footer>
<Button Text="Terug" Command="{Binding BackCommand}" />
</ListView.Footer>
</ListView>
</ContentPage.Content>
Я пробовал несколько комбинаций `VerticalOptions ', но разрыв просто не исчезает!
Куда я иду не так?