2017-11-11 8 views
1

私は登録ページにフィールドが多すぎるため、4ページに分割する必要があります。 CarouselPageにはContentPageが4つあり、簡単にナビゲートすることができます1つのビューと対応するビューモデル。 主な質問をする前に、私は正しい決断をしていることを確認したいと思います。私が気付いていないようなケースには他の選択肢を見逃すことはありませんでした(私はまだ私のXamarinの最初のステップ)。 CarouselPageの場合は、画面の下部にインジケータが表示され、次のページごとに25%ずつ増加するプログレスバーのような登録の進捗状況が表示されます。ContentPage一緒に進捗インジケータ付きCarouselPage?

答えて

0

CarouselPageの後継であるCarouselViewを使用できます。 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は、次のようになります。あなたがtrueにプロパティSh​​owIndicatorsを設定する必要がインジケータを有効にするには

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; } 
} 

関連する問題