2016-03-21 8 views
0

Ich habe eine ListView mit einer Zeilenhöhe festgelegt. Dies funktioniert auf iOS und Android, aber nicht auf UWP. Hier ist die Höhe der Reihe sehr klein. Es ist so groß wie die Standardschriftgröße von TextCell. Ich habe noch ein kleines Beispielprojekt mit diesem Code:RowHeight-Eigenschaft von ListView funktioniert nicht auf UWP-Projekt

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

Content = listView; 

Dieser Code funktioniert gut auf dem Beispielprojekt, aber nicht in dem großen Hauptprojekt.

Hat jemand eine Ahnung warum RowHeight hier nicht funktioniert?

+0

ich Probleme hatte, während RowHeight mit vertikalen und horizontalen Optionen der Zelle und ihre Behälter so achten Sie kombinieren! dafür –

Antwort

0

Es scheint, dass dies ein Fehler in Xamarin.Forms 2.1.0 ist. Hoffentlich wird das bald behoben sein.

0

Dies funktioniert für den xLabs Repeater und sicherlich sollte es auch für Ihre Listview funktionieren?

Ich verwende die ChildAdded Event-Eigenschaft auf der ViewCell und formatieren Sie es auf dem Codebehind .... Hey ... Es funktioniert!

    <!--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 
} 
Verwandte Themen