我的代码是:
ScrollContainer.Content = grid;
Content = ScrollContainer;
Content.HorizontalOptions = LayoutOptions.Center;
我想在右侧有滚动条:
我尝试将Content.HorizontalOptions
设置为LayoutOptions.CenterAndExpand
,但它对我没有帮助(结果如屏幕1)。另外我尝试设置Content.HorizontalOptions
,因为LayoutOptions.FillAndExpand:
滚动条没问题,但网格不在中心,grid.HorizontalOptions = LayoutOptions.Center
没有帮助我
答案 0 :(得分:1)
将Padding
应用于ScrollContainer
,以便滚动条在结束与网格之间有一定距离。
答案 1 :(得分:0)
目前的布局看起来不太清楚,但我会即兴发挥。
您可以通过100种不同的方式实现所需的布局。每次制作ScrollView时,您还应该考虑界面的可用性 - 小屏幕,触摸屏,缩小窗口......如果可能的话 - 避免使用它。特别是如果内容是静态的,Grid提示。
如果您需要滚动视图,并且您希望滚动内容可以作为UX的正常部分滚动,那么您应该考虑使用ListView或其他动态布局。
这里有伪XAML中的几个选项:
<ScrollView HorizontalOptions="FillAndExpand">
<Grid HorizontalOptions="Start"> <!-- this should move the Grid in the left part of the Scroll
<Grid.Columns>
<Column Width="100"/>
<Column Width="100"/>
<Column Width="100"/>
</Grid.Columns>
<ScrollView HorizontalOptions="FillAndExpand">
<Grid>
<Grid.Columns>
<Column Width="100"/>
<Column Width="100"/>
<Column Width="100"/>
<Column Width="*"/> <!-- one extra column with Width to take the remaining space-->
...
答案 2 :(得分:-1)
之后在stacklayout中设置网格 将填充设置为结束与网格之间的距离。
StackLayout Scroller = new StackLayout {
Padding = new Thickness(10, 0, 10, 0),
Orientation = StackOrientation.Horizontal,
Spacing = 375 / 100 + 10,
};
ScrollView Scroll = new ScrollView {
Orientation = ScrollOrientation.Horizontal,
};
Scroll.Content = Scroller;