ListView无法正确显示标签

时间:2018-11-02 15:34:34

标签: xamarin.forms

在我的Xamarin.Forms应用中,我有一个ListView:

<ListView ItemsSource="{Binding MyItems}"
                  Grid.Row="1"
                  Margin="0,20,0,0">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <Label Text="ABC" FontSize="Large" TextColor="Black" BackgroundColor="Red" Margin="20" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand"/>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
</ListView>

应该出现“ ABC”的地方,只是标签背景的细红线。我看不到实际的字母。我之前做了很多ListView都没问题,我不知道我在做什么错了吗?

1 个答案:

答案 0 :(得分:2)

ViewCell需要包含一个布局控件,否则它将无法正确呈现。

为简单起见,您可以实现StackLayout

<ListView 
    ItemsSource="{Binding MyItems}"
    Grid.Row="1"
    Margin="0,20,0,0>
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <StackLayout 
                    HorizontalOptions="FillAndExpand"
                    Margin="0"
                    Padding="0"
                    Spacing="0"
                    VerticalOptions="Fill">
                    <Label 
                        BackgroundColor="Red"
                        FontSize="Large"
                        HorizontalOptions="FillAndExpand"
                        HorizontalTextAlignment="Center"
                        Margin="20" 
                        Text="ABC" 
                        TextColor="Black"  
                        VerticalOptions="FillAndExpand"
                        VerticalTextAlignment="Center"/>
                </StackLayout>
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>