我正在创建一个在Scrollview中包含Stacklayout的应用程序。在这两者中,我都将“方向”定义为“垂直”,并将“垂直选项”定义为“ FillAndExpand”。如此处所述:https://forums.xamarin.com/discussion/20945/scrollview-in-xaml 但是该应用程序不会滚动。
<ContentPage.Content>
<AbsoluteLayout>
<ScrollView Orientation="Vertical"
VerticalOptions="FillAndExpand">
<StackLayout Margin="{StaticResource PageMargin}"
AbsoluteLayout.LayoutBounds="0.0, 0.0, 1.0, 1.0"
AbsoluteLayout.LayoutFlags="All"
Orientation="Vertical"
VerticalOptions="FillAndExpand">
<Label Text="Lorem Ipsum..." />
<!--Extra Labels-->
<Label Text="Lorem Ipsum..." />
</StackLayout>
</ScrollView>
<skia:SKCanvasView x:Name="BgCanvasView"
PaintSurface="OnBgCanvasViewPaintSurface"
AbsoluteLayout.LayoutBounds="0.0, 0.0, 1.0, 1.0"
AbsoluteLayout.LayoutFlags="All"
InputTransparent="True"/>
</AbsoluteLayout>
</ContentPage.Content>
您有什么可以尝试的想法吗?
谢谢。
编辑:我发现它与<AbsoluteLayout>
有关。我创建了另一个项目来测试此问题。使用AbsoluteLayout,结果与我的应用程序相同。但是没有它,StackLayout会按预期滚动。由于AbsoluteLayout对我来说是必需的,因此由于我在SKCanvasView中绘制的背景图形,错过它不是一个选择。
编辑:嗯...我自己弄清楚了,现在感觉有点傻。 <Scrollview>
缺少AbsoluteLayout.LayoutBounds和AbsoluteLayout.LayoutFlags
答案 0 :(得分:1)
请尝试按照以下方法实施Scrollview,这可能会有帮助
<AbsoluteLayout>
<StackLayout AbsoluteLayout.LayoutBounds = "0,0,1,1" AbsoluteLayout.LayoutFlags = "All">
<ScrollView HorizontalOptions="FillAndExpand" VerticleOptions="FillAndExpand">
<StackLayout HorizontalOptions="FillAndExpand" VerticleOptions="FillAndExpand"></StackLayout>
</ScrollView>
</StackLayout>
<skia:SKCanvasView x:Name="BgCanvasView"
PaintSurface="OnBgCanvasViewPaintSurface"
AbsoluteLayout.LayoutBounds="0.0, 0.0, 1.0, 1.0"
AbsoluteLayout.LayoutFlags="All"
InputTransparent="True"/>
</AbsoluteLayout>
我在计算机上尝试了相同的代码,scrollview对我来说正常工作