繁体   English   中英

全屏显示ListView [Xamarin.Forms]

[英]Display ListView in Full Screen [Xamarin.Forms]

我在使用ListView时遇到问题,我需要以全屏显示此列表。 我的ItemSource中有55行。

这是我的代码段。

<Grid Grid.Row="0" BackgroundColor="#5FB1E0">
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="Auto"></ColumnDefinition>
      <ColumnDefinition Width="*"></ColumnDefinition>
      <ColumnDefinition Width="Auto"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <StackLayout Grid.Column="0" Margin="10">
      <Image x:Name="ImageMenu" Source="{local:ImageResource HRiS.images.menu.png}" HeightRequest="40"></Image>
    </StackLayout>
    <Label Grid.Column="1" x:Name="LabelHome" FontSize="18" TextColor="White" VerticalTextAlignment="Center"></Label>
  </Grid>
  <ListView Grid.Row="1" x:Name="listEmployeeDirectory" HasUnevenRows="True" VerticalOptions="FillAndExpand"
            IsPullToRefreshEnabled="True" >
    <ListView.ItemTemplate>
      <DataTemplate>
        <ViewCell>
          <StackLayout Padding="5,10">
            <Grid>
              <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition Width="*"></ColumnDefinition>
              </Grid.ColumnDefinitions>
              <Image Grid.Column="0" HeightRequest="50">
                <Image.Source>
                  <UriImageSource Uri="{Binding ProfileImage}" CacheValidity="5" CachingEnabled="true" />
                </Image.Source>
              </Image>
              <Label Grid.Column="1" Text="{Binding FullName}" HorizontalOptions="StartAndExpand"
                     VerticalTextAlignment="Center" TextColor="Black" FontSize="18" FontFamily="Droid Sans Mono" />
            </Grid>
          </StackLayout>
        </ViewCell>
      </DataTemplate>
    </ListView.ItemTemplate>
  </ListView>
</Grid>

这是屏幕截图。 在此处输入图片说明

试试这个,您只需要放置您的元素

 <Grid VerticalOptions="StartAndExpand" HorizontalOptions="CenterAndExpand" >
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
      <RowDefinition Height="*" />
      <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
     <StackLayout Grid.Row="0" Margin="10" HeightRequest="50" BackgroundColor="Gray" Orientation ="Horizontal">
       <Image  HeightRequest="10"/>
       <Label Text="Test" FontSize="18" TextColor="White" VerticalTextAlignment="Center"/>
    </StackLayout>
    <ListView Grid.Row="1" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" IsVisible="true" ItemTapped="ItemTapped" ItemsSource="{Binding Projects}">
        <ListView.ItemTemplate>
          <DataTemplate>
            <ViewCell>
              <StackLayout BackgroundColor="#eee" Orientation="Vertical">
                <StackLayout Orientation="Horizontal">
                  <Image Source="{Binding image}"/>
                  <Label Text="{Binding title}" TextColor="#f35e20" />
                </StackLayout>
              </StackLayout>
            </ViewCell>
          </DataTemplate>
        </ListView.ItemTemplate>
      </ListView>
    <StackLayout Grid.Row="2" Margin="10" HeightRequest="50" BackgroundColor="Gray" Orientation ="Horizontal">
      <Label Text="Test" FontSize="18" TextColor="White" VerticalTextAlignment="Center"></Label>
    </StackLayout>
  </Grid>

在此处输入图片说明

此问题已解决,我使用了Grid布局,现在将其更改为StackLayout,并且现在可以正常工作。

谢谢 :)

<StackLayout AbsoluteLayout.LayoutBounds="0, 0, 1, 1" AbsoluteLayout.LayoutFlags="All" x:Name="HomeChildContainer">
            <Grid BackgroundColor="#297FB8">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="50">
                    </ColumnDefinition>
                    <ColumnDefinition Width="*">
                    </ColumnDefinition>
                    <ColumnDefinition Width="Auto">
                    </ColumnDefinition>
                </Grid.ColumnDefinitions>
                <StackLayout Grid.Column="0" Margin="10" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand">
                    <Image x:Name="ImageMenu" Source="menu.png" HeightRequest="40" />
                </StackLayout>
                <Label Grid.Column="1" x:Name="LabelHome" FontSize="18" TextColor="White" VerticalTextAlignment="Center">
                </Label>
            </Grid>
            <Entry Grid.Row="1" x:Name="TextSerach" Keyboard="Chat" Placeholder="Search Employee" FontSize="13" FontFamily="Droid Sans Mono" />
            <ListView Grid.Row="2" x:Name="listEmployeeDirectory" HasUnevenRows="True" VerticalOptions="FillAndExpand" IsPullToRefreshEnabled="True" HorizontalOptions="FillAndExpand">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <StackLayout Padding="5,10">
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="Auto">
                                        </ColumnDefinition>
                                        <ColumnDefinition Width="*">
                                        </ColumnDefinition>
                                    </Grid.ColumnDefinitions>
                                    <Image Grid.Column="0" Source="{Binding ProfileImage}" HeightRequest="50">
                                    </Image>
                                    <Label Grid.Column="1" Text="{Binding FullName}" HorizontalOptions="StartAndExpand" VerticalTextAlignment="Center" TextColor="Black" FontSize="16" FontFamily="Droid Sans Mono" />
                                </Grid>
                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </StackLayout>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM