嵌套的CollectionViews和显示(使用Visual Studio 2019,Xamarin XPlatform Android)

问题描述 投票:0回答:1
  1. 嵌套的CollectionView在另一个内滚动:是否正式支持?
  2. 显示这些收藏问题

请参阅下面的我的数据模型和XAML代码(我没有网站将结果屏幕图像放入)

namespace Notes.Models
{
    public class Note
    {
        public enum NoteStatus { suspended, alive }

        public string       Description { get; set; }
        public NoteStatus   Status { get; set; }
    }

    public class NotesContainer
    {
        public string                       Name { get; set; }
        public DateTime                     LastModified { get; set; }
        public ObservableCollection<Note>   ListOfNotes { get; set; }
    }
}
  <CollectionView x:Name="notesContainers" SelectionMode="Single" EmptyView="No items currently exist !">
    <CollectionView.ItemTemplate>
      <DataTemplate>
        <Frame BorderColor="Red" BackgroundColor="Beige" CornerRadius="3" HasShadow="False" Padding="5">
          <StackLayout BackgroundColor="Aqua" Padding="5">
            <Grid>
              <Grid.RowDefinitions><RowDefinition Height="auto"/><RowDefinition Height="auto"/></Grid.RowDefinitions>
              <Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition/></Grid.ColumnDefinitions>
              <Label Grid.RowSpan="2" Text="{Binding Name}" VerticalTextAlignment="Center" FontSize="Large"/>
              <Label Grid.Row="0" Grid.Column="1" Text="{Binding LastModified, StringFormat='\{0:dddd dd}'}" HorizontalTextAlignment="End"/>
              <Label Grid.Row="1" Grid.Column="1" Text="{Binding LastModified, StringFormat='\{0:MMMM yyyy}'}" HorizontalTextAlignment="End"/>
            </Grid>
            <StackLayout BackgroundColor="BlueViolet" Padding="10">
              <CollectionView ItemsSource="{Binding ListOfNotes}" SelectionMode="Single" EmptyView="No items currently exist !">
                <CollectionView.ItemTemplate>
                  <DataTemplate>
            <StackLayout BackgroundColor="Coral" Padding="0,3">
                    <Frame BorderColor="Blue" BackgroundColor="LightBlue" CornerRadius="3" HasShadow="False" Padding="5">
                      <StackLayout Orientation="Horizontal">
                        <Label Text="{Binding Description}" HorizontalOptions="Start" VerticalTextAlignment="Center"/>
                        <Label Text="{Binding Status}" HorizontalOptions="EndAndExpand" VerticalTextAlignment="Center" HorizontalTextAlignment="End"/>
                      </StackLayout>
                    </Frame>
             </StackLayout>
                 </DataTemplate>
                </CollectionView.ItemTemplate>
              </CollectionView>
            </StackLayout>
          </StackLayout>
        </Frame>
      </DataTemplate>
    </CollectionView.ItemTemplate>
  </CollectionView>

qazxsw poi我重复了颜色,以便更好地看到布局不缩小。

问题:(我尝试了多种配置,但没有解决方案) 1.如何将StackLayouts缩小为其内容? 2.为什么StackLayouts伸长了更大的屏幕尺寸?

android xaml xamarin.forms collectionview
1个回答
0
投票

嵌套的CollectionView在另一个内滚动:是否正式支持?

据我所知,所有平台都不支持嵌套的snapshot of outer & inner collectionviews,因为它们中包含Scroll,嵌套的CollectionViews是众所周知的不良做法。

显示这些收藏问题

我无法理解你在这里究竟是什么意思,但如果你能澄清一下,也许我能够帮助你。

我怎样才能将ScrollViews缩小到其内容?

通过将StackLayouts设置为0将是一个良好的开端!

我希望StackLayouts不会超过屏幕的大小,就像上面的代码和一些数据一样

是你的StackLayout占据了整个屏幕吗? (在Spacing中的那个?)

© www.soinside.com 2019 - 2024. All rights reserved.