Maui XAML:元素位于垂直堆栈布局的顶部和底部

jvlzgdj9  于 2022-12-16  发布在  其他
关注(0)|答案(3)|浏览(198)

我已经使用xamarin很多年了,我知道这段代码应该可以工作:

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Skillbased.Pages.LogIn.CreateAccount.Page_Tutorial"
             Title="Page_Tutorial">
    <ScrollView>
        <StackLayout>
            <Grid Margin="0,30,0,0">        
                <Image Source="img_headerbar"/>
                 <Label VerticalOptions="Center"
                       FontFamily="BebasNeue"
                       FontSize="30"
                       HorizontalOptions="Center"
                       Text="WARUM SKILLBASED?"/>
            </Grid>
            <Image VerticalOptions="Start" Source="img_bike"/>
        </StackLayout>
    </ScrollView>
</ContentPage>

但结果是这样的:

不,底部的图片上面没有一大块白色。
我甚至用网格试过这个,但是仍然,它被定位在底部。这里到底发生了什么?
编辑:
哦,如果我尝试部署在android上:

...事情解决了,但是ofc,字体没有在android上加载...无论如何,问题似乎是为什么maui

xwmevbvl

xwmevbvl1#

我相信你需要一个完全在外面的Grid,并把ScrollView放在里面,然后使用一个VerticalStackLayout,并把它放在开始 (Xamarin的“扩展”选项。表单在.NET MAUI中不再存在)
这对你有用吗?

<Grid>
  <ScrollView>
    <VerticalStackLayout
      Spacing="0"
      Margin="0"
      VerticalOptions="Start">

      <Grid Margin="0,30,0,0"
            VerticalOptions="Start">
        <Image Source="img_headerbar"/>
        <Label VerticalOptions="Center"
               FontFamily="BebasNeue"
               FontSize="30"
               HorizontalOptions="Center"
               Text="WARUM SKILLBASED?"/>
      </Grid>
      <Image VerticalOptions="Start" Source="img_bike"/>

    </VerticalStackLayout>
  </ScrollView>
</Grid>
dbf7pr2w

dbf7pr2w2#

尝试设置StartAndExpand的VerticalOrientation属性。图像是否移动或是否将其设置为居中?
我也会把两张图片的背景都设置成红色什么的。有了这个,你可以看看iOS是否会扩展它们。
我的最后一个想法是设置Grid.RowDefinition。

velaa5lx

velaa5lx3#

我给予大家一些建议:
1.设置图像WidthRequest或使用图像Aspect属性
1.使用Grid作为外部控件。设置行的RowHeight。
1.请尝试使用AbsoluteLayout。要定位子级并调整其大小,可以使用AbsoluteLayout.LayoutBounds。有关详细信息,请参阅AbsoluteLayout in .NET Maui

相关问题