2017-11-24 6 views
0

I ein Raster mit den folgenden Zeilendefinitionen haben ...ändern Raster-Layout zur Laufzeit

<Grid.RowDefinitions> 
    <RowDefinition Height="5*" /> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="2*" /> 
    </Grid.RowDefinitions> 

Wenn der Benutzer eine Taste drückt, wie ich die beiden unteren Reihen entfernen tun haben und die obere Reihe (einschließlich der Blick hinein) strecke bis zum Ende des Rasters?

ich alle Zeilen gehalten und dies tat ...

mainGrid.RowDefinitions[2].Height = new GridLength(1, GridUnitType.Star); 
mainGrid.ForceLayout(); 

Ich möchte die Höhenänderung animieren.

Antwort

0

versuchen, etwas wie folgt aus:

Das Gitter

<Grid x:Name="grid"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="5*" /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="2*" /> 
    </Grid.RowDefinitions> 
    <StackLayout Grid.Row="0" 
       HorizontalOptions="FillAndExpand" 
       VerticalOptions="FillAndExpand" 
       x:Name="stkOne" 
       BackgroundColor="Red"/> 
    <StackLayout Grid.Row="1" 
       HorizontalOptions="FillAndExpand" 
       VerticalOptions="FillAndExpand" 
       x:Name="stkTwo" 
       BackgroundColor="Green"/> 
    <StackLayout Grid.Row="1" 
       HorizontalOptions="FillAndExpand" 
       VerticalOptions="FillAndExpand" 
       x:Name="stkThree" 
       BackgroundColor="Blue"/> 
    <Button Text="Expand One" 
      HorizontalOptions="EndAndExpand" 
      Command="ExpandCommand"/> 
</Grid> 

Der Code hinter

// Create the command and set it up to execute this method: 
void ExecuteExpand() 
{ 
    stkTwo.IsVisible=false; 
    stkThree.IsVisible=false; 
    Grid.SetRowSpan(stkOne, 3); 
    grid.ForceLayout(); 
} 

Ich bin nicht sicher, ob es, wie Sie arbeiten müssen, aber versuchen Sie es.

+0

Ich habe nur die Höhe der unteren Reihe aktualisiert. aber 'ForceLayout' hat es geschafft. Vielen Dank! –

+0

Ist es möglich, es zu animieren? –

+0

Ja, aber in diesem Fall müssen wir den Code sehen und wissen, welche Wirkung Sie wünschen –