如何在Xamarin.Forms中使用Frame作为ListView的根元素?

时间:2017-04-09 15:16:20

标签: xaml listview xamarin.forms cardview

我正在尝试为使用Xamarin.Forms构建的应用程序获取时间轴的类似Card的记录列表,这是我需要或多或少复制的布局:

enter image description here

我认为我很接近,我的代码后面有两条记录,我将其作为ItemSource分配给XAML方面的listView,这是我到目前为止的结果:

enter image description here

但正如您所看到的,元素并未在其框架内显示,如果我使用TextCells或ImageCells替换表单控件,数据显示正常。这是我到目前为止的XAML代码:

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage Title="AudioBitts" 
    xmlns="http://xamarin.com/schemas/2014/forms" 
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:local="clr-namespace:AudioBitts"
    x:Class="AudioBitts.TimelinePage">

    <ListView x:Name="listView">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell Height="300">
                    <Frame HasShadow="true" Margin="5">
                        <StackLayout>
                            <StackLayout Orientation="Horizontal">
                                <Image Source="{Binding UserAvatar}" />
                                <Label Text="{Binding UserName}" />
                            </StackLayout>
                            <Image Source="{Binding BittImage}" />
                        </StackLayout>
                    </Frame>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

</ContentPage>

我错过了我给XAML代码的结构吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以设置ListView.RowHeight或设置ListView.HasUnevenRow以允许数据完整显示。