【问题标题】:CarouselPage with progress indicator?带有进度指示器的 CarouselPage?
【发布时间】:2017-11-11 21:33:56
【问题描述】:
我有一个注册页面,字段太多,需要我把它分成4个页面,
我认为最好的体验是拥有一个CarouselPage 和四个ContentPages,可以轻松导航,并且拥有一个具有相应视图模型的视图。
在问主要问题之前,我想确保我做出了正确的决定,并且我没有错过任何其他专门用于我不知道的情况的选项(我仍然是我的第一个Xamarin 中的步骤)。
如果CarouselPage 是要走的路,那么我想在屏幕底部有一些指示器,它显示注册进度,就像一个进度条,在每个下一页上增加 25%,这与所有 @ 987654324@s在一起
【问题讨论】:
标签:
c#
xamarin
xamarin.forms
carousel
【解决方案1】:
您可以使用 CarouselView,它是 CarouselPage 的继承者。有一个文档如何实现CarouseView,这里很好blog post。
我可以告诉你如何开始。 CarouselViev 类似于 ListView。
<controls:CarouselViewControl
x:Name="MyCarouselView">
<controls:CarouselView.ItemTemplate>
<DataTemplate>
<StackLayout>
<Entry
Placeholder="{Binding FirstEntryName}"
Text="{Binding FirstEntryText, Mode=TwoWay}"
IsVisible="{Binding FirstEntryVisible}" />
<Entry
Placeholder="{Binding SecondEntryName}"
Text="{Binding FirstEntryText, Mode=TwoWay}"
IsVisible="{Binding SecondEntryVisible}" />
</StackLayout>
</DataTemplate>
</controls:CarouselView.ItemTemplate>
</controls:CarouselViewControl>
然后您可以使用 ObservableCollection DataFromEntries 填充 ItemSource,MyViewData 如下所示:
public class MyViewData
{
public string FirstEntryName { get; set; }
public string FirstEntryText { get; set; }
public bool FirstEntryVisible { get; set; }
public string SecondEntryName { get; set; }
public string SecondEntryText { get; set; }
public bool SecondEntryVisible { get; set; }
}
要启用指标,您需要将属性 ShowIndicators 设置为 true。