2016-08-04 4 views
2

Xamarin Forms XAMLにListViewがあり、このListViewに4つのラベルと1つのエントリを持つグリッドを描画したい。私の問題は、ListViewを表示しようとするとその行が重ね合わされ、ViewCellのすべての内容がDataTemplateに表示されるわけではないことです。ViewCellが正しく配置されず、コンテンツの一部が切り取られない - Xamarinフォーム

私のエラーは何ですか?ここで

私のコード:事前に

<?xml version="1.0" encoding="UTF-8"?> 
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="iGuideTest.ExhibitionsPage" 
    Title = "{Binding titleMenu}"> 
<ContentPage.Content> 
    <StackLayout VerticalOptions="Center" HorizontalOptions="Center"> 
      <Label Text="You are in the Exhibitions page" /> 
      <Button Text="Return to LoginPage" Command="{Binding BackCommand}" /> 
      <Label Text="{Binding exhibitionsList.Count}" /> 
     <Button Grid.Row="2" Grid.Column="0" Text="{Binding surname}" Command="{Binding Edit}" /> 
      <ListView x:Name="ListViewCouchbase" ItemsSource="{Binding exhibitionsList}" 
       > 
       <ListView.ItemTemplate> 
        <DataTemplate> 
        <ViewCell> 
           <Grid> 
            <Grid.RowDefinitions> 
             <RowDefinition Height="Auto" /> 
             <RowDefinition Height="Auto" /> 
             <RowDefinition Height="*" /> 
            </Grid.RowDefinitions> 
            <Grid.ColumnDefinitions> 
             <ColumnDefinition Width="Auto" /> 
             <ColumnDefinition Width="Auto" /> 
            </Grid.ColumnDefinitions> 
           <Label Grid.Row="0" Grid.Column="0" TextColor="#05199C" Text="{Binding title}" /> 
           <Label Grid.Row="0" Grid.Column="1" TextColor="#008000" Text="{Binding userId}" /> 
           <Label Grid.Row="1" Grid.Column="1" TextColor="Maroon" Text="{Binding LastUpdated}" /> 
           <Label Grid.Row="1" Grid.Column="0" TextColor="Purple" Text="{Binding surname}" /> 
           <Entry Grid.Row="2" Grid.Column="0" TextColor="Blue" Text="{Binding Id}" /> 
           </Grid> 
        </ViewCell> 
        </DataTemplate> 
       </ListView.ItemTemplate> 
      </ListView> 
    </StackLayout> 
</ContentPage.Content> 

感謝。

+0

あなたのリストには 'RowHeight'がありません。 – Krumelur

+0

私は既にRowDefinition Height = "Auto"を設定しました。 – rik194

答えて

5

てみHasUnevenRowsプロパティを使用するには:

<ListView HasUnevenRows="True"> ... </ListView>

0

はい、私はちょうど、リストビューがRowHeight xxは、いくつかの二重の高さを示すさ= "XX" に設定

:)がしてきました。

0

Gridを使用していて、の場合はHasUnevenRowsプロパティをtrueに設定する方がよいでしょう。

また、グリッドは動的なサイズで、VerticalOptionsFillに設定することができます。

関連する問題