ViewCell未正确对齐并削减部分内容 - Xamarin Forms

时间:2016-08-04 10:16:20

标签: xaml listview xamarin grid xamarin.forms

我在Xamarin Forms XAML中有一个ListView,在这个ListView中我想绘制一个带有4个标签和1个Entry的Grid。我的问题是,当我尝试显示ListView时,它的行被叠加,并且不会显示ViewCell的所有内容到DataTemplate中。

我不知道我的错误是什么。

这是我的代码:

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="iGuideTest.ExhibitionsPage"
    Title = "{Binding titleMenu}">
<ContentPage.Content>
    <StackLayout VerticalOptions="Center" HorizontalOptions="Center">
            <Label Text="You are in the Exhibitions page" />
            <Button Text="Return to LoginPage" Command="{Binding BackCommand}" />
            <Label Text="{Binding exhibitionsList.Count}" />
        <Button Grid.Row="2" Grid.Column="0" Text="{Binding surname}" Command="{Binding Edit}" />
            <ListView x:Name="ListViewCouchbase" ItemsSource="{Binding exhibitionsList}"
                >
                <ListView.ItemTemplate>
                    <DataTemplate>
                    <ViewCell>
                                <Grid>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto" />
                                        <RowDefinition Height="Auto" />
                                        <RowDefinition Height="*" />
                                    </Grid.RowDefinitions>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="Auto" />
                                        <ColumnDefinition Width="Auto" />
                                    </Grid.ColumnDefinitions>
                                <Label Grid.Row="0" Grid.Column="0" TextColor="#05199C" Text="{Binding title}" />
                                <Label Grid.Row="0" Grid.Column="1" TextColor="#008000" Text="{Binding userId}" />
                                <Label Grid.Row="1" Grid.Column="1" TextColor="Maroon" Text="{Binding LastUpdated}" />
                                <Label Grid.Row="1" Grid.Column="0" TextColor="Purple" Text="{Binding surname}" />
                                <Entry Grid.Row="2" Grid.Column="0" TextColor="Blue" Text="{Binding Id}" />
                                </Grid>
                    </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
    </StackLayout>
</ContentPage.Content>

提前致谢。

3 个答案:

答案 0 :(得分:10)

尝试使用HasUnevenRows属性:

<ListView HasUnevenRows="True"> ... </ListView&GT;

答案 1 :(得分:0)

是的,我去过那里:)

设置ListView RowHeight =“xx”,其中xx是指示高度的双倍。

答案 2 :(得分:0)

由于您使用GridAuto中有RowHeight,因此您最好将HasUnevenRows属性设置为true。

此外,您的网格本身也具有动态尺寸,您可以将其VerticalOptions设置为Fill