Xamarin Listview Itemtemplate外观问题

时间:2019-03-15 10:21:10

标签: xamarin xamarin.forms

我正在设计ListView的样式。在我的ItemTemplate中,垂直布局的Stacklayout中只有两个标签。如您在图片中看到的,两个标签之间有一定的间距。我不希望有这个空间,并且标签彼此之间直接相邻。有人建议吗?

ListView with Label-Background

<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>

2 个答案:

答案 0 :(得分:0)

StackLayout的默认Spacing为10,如果您不希望项目之间有间距,则需要将其设置为0。

答案 1 :(得分:0)

我记得,StackLayout中的项目之间(以及Grid中的行之间)的默认间距大于0。如果您希望项目之间没有间距,则可以在StackLayout中添加Spacing="0"属性。