Properti RowHeight dari ListView tidak berfungsi pada proyek UWP

Saya memiliki ListView dengan set tinggi baris. Ini berfungsi di iOS dan Android, tetapi tidak di UWP. Di sini tinggi barisannya sangat kecil. Ini sebesar ukuran font default TextCell. Saya membuat proyek sampel kecil lainnya dengan kode ini:

Title = "Page";
var listView = new ListView
{
    RowHeight = 44,
};
listView.ItemsSource = new string[]
{
    "Test1",
    "Test2",
    "Test3",
    "Test4",
    "Test5",
};

Content = listView;

Kode ini berfungsi dengan baik pada proyek sampel, tetapi tidak pada proyek utama yang besar.

Adakah yang tahu mengapa RowHeight tidak berfungsi di sini?


person testing    schedule 21.03.2016    source sumber
comment
Saya mengalami masalah saat menggabungkan RowHeight dengan Opsi Vertikal dan Horizontal pada Sel dan wadahnya, jadi berhati-hatilah! untuk itu   -  person Mario Galván    schedule 22.03.2016


Jawaban (2)


Tampaknya ini adalah bug di Xamarin.Forms 2.1.0. Semoga ini bisa segera diperbaiki.

person testing    schedule 22.03.2016

Ini berfungsi untuk repeater xLabs dan tentunya juga berfungsi untuk tampilan daftar Anda?

Saya menggunakan Properti Acara ChildAdded di ViewCell dan memformatnya di belakang kode.... Hei... Berhasil!

                  <!--Users added go here-->              
      <xLabs:RepeaterView x:TypeArguments="models:User" x:Name="UsersAddedStack" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" 
                          ItemsSource="{Binding UsersAdded}" ItemClickCommand="{Binding AddedUserIconClicked}" Spacing="4">

        <xLabs:RepeaterView.ItemTemplate>
          <DataTemplate>                    
            <ViewCell ChildAdded="RepeaterChild_OnChildAdded"><!-- <====fixes height -->
              <Frame Padding="0,6,0,6" OutlineColor="Transparent" HasShadow="False" BackgroundColor="White">
                <Grid HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" BackgroundColor="White">
                  <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="2*"/>
                    <ColumnDefinition Width="8*"/>
                  </Grid.ColumnDefinitions>
                  <Image Grid.Column="0" Source="user256blue.png" Aspect="AspectFit" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
                  <StackLayout Grid.Column="1" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
                    <!--First Name + Last Name-->
                    <Label Text="{Binding FullName}" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" HorizontalTextAlignment="Start"
                         BackgroundColor="White" FontSize="Medium" TextColor="Black"/>
                    <!--Username-->
                    <Label Text="{Binding Username}" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" HorizontalTextAlignment="Start"
                         BackgroundColor="White" FontSize="Medium" TextColor="Black"/>
                  </StackLayout>
                </Grid>
              </Frame>
            </ViewCell>
          </DataTemplate>                  
        </xLabs:RepeaterView.ItemTemplate>


      </xLabs:RepeaterView>

private void RepeaterChild_OnChildAdded(object sender, ElementEventArgs e)
{
    var viewCell = sender as ViewCell;
    viewCell.View.HeightRequest = _ccfvm.IconHeight; //_ccfvm is my viewmodel for the page
}
person Rick Penabella    schedule 15.04.2016