#xamarin #xamarin.forms
#xamarin #xamarin.forms
Вопрос:
Я работаю над стилизацией моего ListView. В моем ItemTemplate есть только две метки в Stacklayout с вертикальной ориентацией. Как вы можете видеть на рисунке, между двумя метками есть некоторый интервал. Мне не нужно это пространство, и метки расположены прямо друг под другом. У кого-нибудь есть совет?
Просмотр списка с надписью-фоном
<ListView x:Name="ItemList"
ItemSelected="ItemList_ItemSelected"
HasUnevenRows="True"
IsGroupingEnabled="true"
GroupDisplayBinding="{Binding LongName}"
GroupShortNameBinding="{Binding ShortName}"
SeparatorVisibility="None">
<ListView.GroupHeaderTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<StackLayout Orientation="Horizontal"
BackgroundColor="{StaticResource LightGreyColor}"
Padding="20,10,0,10">
<Label Text="{Binding LongName}"
Style="{DynamicResource DateLabel}"/>
</StackLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.GroupHeaderTemplate>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<StackLayout Orientation="Vertical"
Padding="20,10,0,10">
<Label Text="{Binding Name}"
Style="{DynamicResource ItemTitleLabel}"
BackgroundColor="Bisque"/>
<Label Text="{Binding Description}"
Style="{DynamicResource SubTitleLabel}"
BackgroundColor="Bisque"/>
</StackLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Ответ №1:
Я помню, что интервал по умолчанию между элементами в StackLayout (и между строками в сетке) больше 0. Если вы не хотите, чтобы между элементами не было пробелов, вы можете просто добавить Spacing="0"
атрибут в свой StackLayout.
Ответ №2:
StackLayout
значение по умолчанию Spacing
равно 10, вам нужно установить его равным 0, если вы не хотите, чтобы интервал между элементами.