2017-04-09 7 views
0

私はビューを配置するためのグリッドを定義しましたが、それらをすべて見るには垂直にスクロールする必要があります。私のコードでどこにScrollViewを追加するべきですか?グリッド内?ここに私の現在のコードがあります。また、このページをより良く構築する方法についての批判も受け入れます。私は比較的初心者です。XAML階層内でScrollView宣言をどこに配置する必要がありますか? Xamarin.Forms

<ContentPage Title="Browse Providers"> 
    <Grid BackgroundColor="#689dff"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 
    <Label Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="20" Grid.RowSpan="4" Text="Browse Service Providers" 
    FontSize="28"> 
    </Label> 
    <Button Grid.Row="5" Grid.Column="6" Grid.ColumnSpan="10" Grid.RowSpan="4" Text="Videography" FontSize="20" 
    TextColor="Green"> 
    </Button> 
    <Button Grid.Row="8" Grid.Column="6" Grid.ColumnSpan="10" Grid.RowSpan="4" Text="Babysitting" FontSize="20" 
    TextColor="Green"> 
    </Button> 
    <Button Grid.Row="11" Grid.Column="6" Grid.ColumnSpan="10" Grid.RowSpan="4" Text="Pet Sitting" FontSize="20" 
    TextColor="Green"> 
    </Button> 
    <Button Grid.Row="14" Grid.Column="6" Grid.ColumnSpan="10" Grid.RowSpan="4" Text="Lawn Care" FontSize="20" 
    TextColor="Green"> 
    </Button> 
    <Button Grid.Row="17" Grid.Column="6" Grid.ColumnSpan="10" Grid.RowSpan="4" Text="Appliance Repair" FontSize="20" 
    TextColor="Green"> 
    </Button> 
    <Button Grid.Row="20" Grid.Column="6" Grid.ColumnSpan="10" Grid.RowSpan="4" Text="Graphic Design" FontSize="20" 
    TextColor="Green"> 
    </Button> 
    <Button Grid.Row="23" Grid.Column="6" Grid.ColumnSpan="10" Grid.RowSpan="4" Text="Photography" FontSize="20" 
    TextColor="Green"> 
    </Button> 
    <Button Grid.Row="26" Grid.Column="6" Grid.ColumnSpan="10" Grid.RowSpan="4" Text="Painting" FontSize="20" 
    TextColor="Green"> 
    </Button> 
    <Button Grid.Row="29" Grid.Column="6" Grid.ColumnSpan="10" Grid.RowSpan="4" Text="Plumbing" FontSize="20" 
    TextColor="Green"> 
    </Button> 
    <Button Grid.Row="32" Grid.Column="5" Grid.ColumnSpan="12" Grid.RowSpan="4" Text="House Cleaning" FontSize="20" 
    TextColor="Green"> 
    </Button> 
</Grid> 
</ContentPage> 

答えて

1

あなたScrollViewGridViewラップ:

<ScrollView> 
    <GridView /> 
</ScrollView/> 

いくつかの提案:
1)一度だけTextColorFontSizeを定義するために、stylesを使用します。
2)あなたのRows & Columnsのすべての場合には、同じ又は類似のサイズの定義を簡素化する必要があります:

<ColumnDefinition /> 
<RowDefinition /> 

詳細についてGridレイアウトがhereを見つけることができます。

3) "Xamarin.Forms Performance" guideに精通してください。
4)特にXamarin.FormsとXAMLを初めてお使いの場合は、XAMLCを使用してください。

幸運。

関連する問題