私はscrollview/gridで作業しています!私のグリッドの中には、画像、ボタン、ラベルがあります。スクロールビュー/グリッド内の画像を画面の幅にフィットさせるにはどうすればいいですか?
このページでは、自分のデータベースから画像を収集します。つまり、あらかじめクリックしたカテゴリによって画像が異なります。これは、画像の高さと幅が必ずしも同じではないことを意味します。
一部の画像は通常の高さでフルスクリーンに表示されますが、画面の一部が表示されないものもあります。もし私がAspectFill
をしたら、私はどちらも望んでいない写真のいくつかがチョップされます。私もFill
を試しましたが、それは画像を伸ばします。
これは、私が働いているものです:
<ScrollView HorizontalOptions = "FillAndExpand" VerticalOptions = "FillAndExpand" >
<StackLayout HorizontalOptions = "FillAndExpand" VerticalOptions = "FillAndExpand">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackLayout Grid.Row="0" BackgroundColor = "Red" HorizontalOptions = "FillAndExpand" VerticalOptions = "FillAndExpand">
<Image x:Name="theimage" Aspect = "AspectFit" HorizontalOptions = "FillAndExpand" VerticalOptions = "FillAndExpand" />
<Button Clicked="clickFunc" TextColor="White" Grid.Row="1" HeightRequest="80" WidthRequest="120" BorderRadius="40" HorizontalOptions="End" VerticalOptions="Start" />
<StackLayout Grid.Row="1" Padding="10,20,10,0">
<Label TextColor = "#474747" x:Name="title" Text="" HorizontalOptions="Start" FontFamily="Helvetica Neue" FontAttributes="Bold" />
</StackLayout>
</StackLayout>
</Grid>
</StackLayout>
</ScrollView>
私は問題を解決するために、これを実行しようとしました:
theimage.WidthRequest = App.ScreenWidth;
そして、私はAppDelegeteからScreenWidthを得るが、だ、それを
theimage
変更されません。幅はまったくありません。私は、XAMLで、このように手動で番号を追加しようとした場合:
WidthRequest = "500"
画像が変化しないか、それが画像に来るとき私は少しアイデアをしています。
画像を通常のサイズに保ちながら常に画面の幅にレイアウトするようにコードを調整するにはどうすればよいですか?
まず、グリッドの行の高さはautoです。次に、RowDefinitionとColumnDefinitionの両方で高さの幅を固定することができます。つまり両方の値を50に設定し、問題に直面した場合は教えてください。 –
よろしくお願いします。私はグリッドで作業するのが新しいので、私は100%確実ではない – Martman
行の高さをAutoから '*'に変更する必要がありますか?私は ' \t \t \t \t \t \t \t \t 'も、私は私のイメージでは 'Grid.Row =" 0を追加する必要があります追加しました「? –
Martman