列表视图——比;ViewCell——比;StackLayout:不会显示全部内容

本文关键字:显示 全部 StackLayout 视图 ViewCell 列表 | 更新日期: 2023-09-27 18:07:58

编辑:我能够通过添加"HasUnevenRows="True"到ListView来解决这个问题。不知道为什么它工作,但是,嘿,问题解决了;D

编辑2:From the docs:

应用程序开发人员会发现,自动调整列表视图行大小的最简单和最不容易出错的方法是:首先,设置ListView。

我实现了以下Listview:

<ListView x:Name="ListView"
                      IsPullToRefreshEnabled="True"
                      ItemSelected="ListView_ItemSelected"
                      Refreshing="ListView_Refreshing">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <StackLayout Orientation="Vertical">
                                <Image HorizontalOptions="Center" Source="{Binding MyObjectValue1, Converter={StaticResource Base64ToImageConverter}}" />
                                <Label FontAttributes="Bold" Text="{Binding MyObjectValue2}" />
                                <Label Text="{Binding MyObjectValue3}" />
                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>

c#中ListView的内容:

ListView.ItemsSource = listOfMyObject;

注意:图像处理得很好,不用担心。

问题:当我部署我的应用程序,只有图像显示在一个正常大小的listview-cell。两个标签不可见。我想要达到的效果:

------------------
|       Pic      |
|      Label1    |
|      Label2    |
|                |
| Next List Entry|
|       ...      |
------------------ //Yes it is a small phone with the shape of a square cuz I am lazy ;D

我怎么才能做到呢?

干杯!

列表视图——比;ViewCell——比;StackLayout:不会显示全部内容

试试这个:

        <ViewCell>
          <StackLayout Orientation="Vertical">
            <Image Aspect="Fill" HorizontalOptions="Center" Source="{Binding MyObjectValue1, Converter={StaticResource Base64ToImageConverter}}" /> 
            <StackLayout Orientation="Vertical">                              
            <Label FontAttributes="Bold" Text="{Binding MyObjectValue2}" />
            <Label Text="{Binding MyObjectValue3}" />
            </StackLayout>
          </StackLayout>
        </ViewCell>