2017-04-26 18 views
0

私はXamarin Formsアプリを持っています。マイページの下部には、次のようになります。XamarinフォームでStackLayoutをGrid内に展開するには?

enter image description here

は現在、それは次のようになります。

enter image description here

問題はStackLayoutは、スペースを埋めるために展開されないということです。ここに私のxamlがあります:

<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand" VerticalOptions="End" Spacing="0" > 
    <Grid ColumnSpacing="0" RowSpacing="0" HorizontalOptions="FillAndExpand"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="40" /> 
    </Grid.RowDefinitions> 

    <StackLayout HorizontalOptions="CenterAndExpand" Grid.Column="0" Grid.Row="1" BackgroundColor="Blue" > 
     <Label Text="First" TextColor="#FFFFFF" HorizontalOptions="CenterAndExpand" /> 
    </StackLayout> 
    <StackLayout HorizontalOptions="CenterAndExpand" Grid.Column="1" Grid.Row="1" BackgroundColor="Red" > 
     <Label Text="Second" TextColor="#FFFFFF" HorizontalOptions="CenterAndExpand" /> 
    </StackLayout> 

    </Grid> 
</StackLayout> 

Grid内でStackLayoutをどのように拡張できますか?青と赤の背景が真ん中に触れるようにしたい。

+0

カラム定義に「width」を設定しようとしましたか? 2列の '50 *'? –

+0

はい。同じ結果が得られます。 – Uros

+0

そして要素から 'CenterAndExpand'を削除しますか? –

答えて

3

StackLayoutsをCenterAndExpandに設定します。つまり、必要なだけのスペースを取ることになります。

<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand" VerticalOptions="End" Spacing="0" > 
    <Grid ColumnSpacing="0" RowSpacing="0" HorizontalOptions="FillAndExpand"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="40" /> 
    </Grid.RowDefinitions> 
    <StackLayout HorizontalOptions="FillAndExpand" Grid.Column="0" Grid.Row="1" BackgroundColor="Blue" > 
     <Label Text="First" TextColor="#FFFFFF" HorizontalOptions="CenterAndExpand" /> 
    </StackLayout> 
    <StackLayout HorizontalOptions="FillAndExpand" Grid.Column="1" Grid.Row="1" BackgroundColor="Red" > 
     <Label Text="Second" TextColor="#FFFFFF" HorizontalOptions="CenterAndExpand" /> 
    </StackLayout> 
    </Grid> 
</StackLayout> 
関連する問題