首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用StackLayout替换FlexLayout

用StackLayout替换FlexLayout
EN

Stack Overflow用户
提问于 2021-04-14 05:02:25
回答 1查看 49关注 0票数 0

我在CollectionView中的Auto中有一个包含两行的Grid。其中一个是FlexLayout,另一个是Label。对于一些奇怪的问题,对于这两个控件,Label不会显示,到目前为止,我发现的唯一方法是用StackLayout替换FlexLayout

代码语言:javascript
复制
 <DataTemplate>
                         <yummy:PancakeView  CornerRadius="15">
                             <yummy:PancakeView.Shadow>
                                 <yummy:DropShadow Color="LightBlue" Offset="10,10"/>
                             </yummy:PancakeView.Shadow>
                             <Grid BackgroundColor="{DynamicResource SfondoElemDiario}" RowSpacing="0.2">
                                     <Grid.RowDefinitions>
                                         <RowDefinition Height="27"/>
                                         <RowDefinition Height="27"/>
                                         <RowDefinition Height="Auto"/>
                                         <RowDefinition Height="Auto"/>
                                     </Grid.RowDefinitions>
                                     <Grid.ColumnDefinitions>
                                         <ColumnDefinition Width="65"/>
                                         <ColumnDefinition Width="*"/>
                                     <ColumnDefinition Width="32"/>
                                 </Grid.ColumnDefinitions>
                                        
                                     <Image Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" Margin="4,4,4,7" Source="{Binding Umore}" VerticalOptions="Center"/>
                                     <Label Grid.Row="0" FontFamily="FontM" Grid.Column="1" Text="{Binding GiornoTrascritto}" FontSize="16" TextColor="{DynamicResource TextColor}" Opacity="0.6" VerticalOptions="Center" />
                                     <Label Grid.Row="1" FontFamily="FontM" Grid.Column="1" Text="{Binding Orario}" FontSize="16" TextColor="{DynamicResource TextColor}" Opacity="0.6" VerticalOptions="Center"/>
                                     <ProgressBar Grid.Row="1" Grid.Column="0" ProgressColor="LightGray" HeightRequest="10" Progress="1" VerticalOptions="End"/>
                                     <ProgressBar Grid.Row="1" Grid.Column="0" ProgressColor="{Binding ColoreUmore}" HeightRequest="10" Progress="{Binding ProgValore}"  VerticalOptions="End"/>
                                     <FlexLayout
                                         Grid.Row="2"
                                         Margin="0,5,10,0"
                                         Grid.Column="1"     
                                         BindableLayout.ItemsSource="{Binding IconDiaries}" 
                                         Wrap="Wrap" 
                                         JustifyContent="Start" 
                                         Direction="Row" 
                                         AlignItems="Start" 
                                         AlignContent="Start">
                                         <BindableLayout.ItemTemplate>
                                             <DataTemplate>
                                                 <Grid Padding="0,2,3,0">
                                                     <Grid.RowDefinitions>
                                                         <RowDefinition Height="18"/>
                                                     </Grid.RowDefinitions>
                                                     <Grid.ColumnDefinitions>
                                                         <ColumnDefinition Width="18"/>
                                                         <ColumnDefinition Width="Auto"/>
                                                     </Grid.ColumnDefinitions>
                                                     <controls:TintedImage Grid.Row="0" Grid.Column="0" Source="{Binding isSource}" Margin="2" TintColor="{Binding ColoreUmore}"/>
                                                     <Label Grid.Row="0" Grid.Column="1" FontFamily="FontM" Text="{Binding id}" TextColor="{DynamicResource TextColor}" Opacity="0.9" FontSize="13" VerticalTextAlignment="Center" Margin="0,0,3,0"/>
                                                 </Grid>
                                             </DataTemplate>
                                         </BindableLayout.ItemTemplate>
                                     </FlexLayout>
                                     <Label Grid.Row="3" Grid.Column="1" FontFamily="FontM" TextColor="{DynamicResource TextColor}"  FontSize="16" Text="{Binding Nota}"/>

Result

有没有办法将这个FlexLayout转换成StackLayout,并以同样的方式可视化?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-15 05:26:40

对FlexLayout行使用*而不是Auto

代码语言:javascript
复制
    <Grid BackgroundColor="{DynamicResource SfondoElemDiario}" RowSpacing="0.2">
        <Grid.RowDefinitions>
            <RowDefinition Height="27" />
            <RowDefinition Height="27" />
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <!-- elements -->
    </Grid>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67082329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档