最佳答案
在 ScrollView 中使用 BindableLayout 的 StackLayout 可以满足您的要求。
XAML 代码:
<ScrollView
x:Name="calender"
Orientation="Horizontal">
<StackLayout
BackgroundColor="Blue"
BindableLayout.ItemsSource="{Binding Dates}"
Orientation="Horizontal">
<BindableLayout.ItemTemplate>
<DataTemplate>
<Button
TextColor="White"
BackgroundColor="Blue"
Text="{Binding}"/>
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout>
</ScrollView>
按钮点击:
private void LeftButton_Clicked(object sender, EventArgs e)
{
if (calender.ScrollX > 200)
calender.ScrollToAsync(calender.ScrollX - 200, 0, true);
else
calender.ScrollToAsync(0, 0, true);
}
private void RightButton_Clicked(object sender, EventArgs e)
{
if (calender.ScrollX < calender.ContentSize.Width - calender.Width - 200)
calender.ScrollToAsync(calender.ScrollX + 200, 0, true);
else
calender.ScrollToAsync(calender.ContentSize.Width - calender.Width, 0, true);
}
用户界面结果:
关于Xamarin 表单水平 ListView ,带有用于将日期向右、向左移动的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59734146/