public HeaderFooterGallery() { var descriptionLabel = new Label { Text = "Header/Footer Galleries", Margin = new Thickness(2, 2, 2, 2) }; Title = "Header/Footer Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("Header/Footer (String)", () => new HeaderFooterString(), Navigation), GalleryBuilder.NavButton("Header/Footer (Forms View)", () => new HeaderFooterView(), Navigation), GalleryBuilder.NavButton("Header/Footer (Template)", () => new HeaderFooterTemplate(), Navigation), GalleryBuilder.NavButton("Header/Footer (Grid)", () => new HeaderFooterGrid(), Navigation), GalleryBuilder.NavButton("Footer Only (String)", () => new FooterOnlyString(), Navigation), GalleryBuilder.NavButton("Header/Footer (Grid Horizontal)",() => new HeaderFooterGridHorizontal(), Navigation), } } }; }
public IndicatorViewGallery() { Title = "IndicatorView Gallery"; var button = new Button { Text = "Enable IndicatorView", AutomationId = "EnableIndicatorView" }; button.Clicked += ButtonClicked; Content = new StackLayout { Children = { button, GalleryBuilder.NavButton("IndicatorView Gallery", () => new IndicatorCodeGallery(), Navigation), /* * GalleryBuilder.NavButton("CarouselView (XAML, Horizontal)", () => * new CarouselXamlGallery(), Navigation), * GalleryBuilder.NavButton("CarouselView (Indicators Forms)", () => * new CarouselItemsGallery(), Navigation), * GalleryBuilder.NavButton("CarouselView (Indicators Default (Native))", () => * new CarouselItemsGallery(), Navigation), */ } }; }
public SnapPointsGallery() { var descriptionLabel = new Label { Text = "Snap Points Galleries", Margin = new Thickness(2, 2, 2, 2) }; Title = "Snap Points Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("Snap Points (Code, Horizontal List)", () => new SnapPointsCodeGallery(LinearItemsLayout.Horizontal as ItemsLayout), Navigation), GalleryBuilder.NavButton("Snap Points (Code, Vertical List)", () => new SnapPointsCodeGallery(LinearItemsLayout.Vertical as ItemsLayout), Navigation), GalleryBuilder.NavButton("Snap Points (Code, Horizontal Grid)", () => new SnapPointsCodeGallery(new GridItemsLayout(2, ItemsLayoutOrientation.Horizontal)), Navigation), GalleryBuilder.NavButton("Snap Points (Code, Vertical Grid)", () => new SnapPointsCodeGallery(new GridItemsLayout(2, ItemsLayoutOrientation.Vertical)), Navigation), } } }; }
public DataTemplateGallery() { var descriptionLabel = new Label { Text = "Simple DataTemplate Galleries", Margin = new Thickness(2, 2, 2, 2) }; Title = "Simple DataTemplate Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("Vertical List (Code)", () => new TemplateCodeCollectionViewGallery(LinearItemsLayout.Vertical), Navigation), GalleryBuilder.NavButton("Horizontal List (Code)", () => new TemplateCodeCollectionViewGallery(LinearItemsLayout.Horizontal), Navigation), GalleryBuilder.NavButton("Vertical Grid (Code)", () => new TemplateCodeCollectionViewGridGallery(), Navigation), GalleryBuilder.NavButton("Horizontal Grid (Code)", () => new TemplateCodeCollectionViewGridGallery(ItemsLayoutOrientation.Horizontal), Navigation), GalleryBuilder.NavButton("DataTemplateSelector", () => new DataTemplateSelectorGallery(), Navigation), } } }; }
public PropagationGallery() { var descriptionLabel = new Label { Text = "Property Propagation Galleries", Margin = new Thickness(2, 2, 2, 2) }; Title = "Property Propagation Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("Propagate FlowDirection", () => new PropagateCodeGallery(LinearItemsLayout.Vertical), Navigation), GalleryBuilder.NavButton("Propagate FlowDirection in EmptyView", () => new PropagateCodeGallery(LinearItemsLayout.Vertical, 0), Navigation), } } }; }
public GroupingGallery() { var descriptionLabel = new Label { Text = "Grouping Galleries", Margin = new Thickness(2, 2, 2, 2) }; Title = "Grouping Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("Basic Grouping", () => new BasicGrouping(), Navigation), GalleryBuilder.NavButton("Grouping, some empty groups", () => new SomeEmptyGroups(), Navigation), GalleryBuilder.NavButton("Grouping, no templates", () => new GroupingNoTemplates(), Navigation), GalleryBuilder.NavButton("Grouping, with selection", () => new GroupingPlusSelection(), Navigation), GalleryBuilder.NavButton("Grouping, switchable", () => new SwitchGrouping(), Navigation), GalleryBuilder.NavButton("Grouping, Observable", () => new ObservableGrouping(), Navigation), GalleryBuilder.NavButton("Grouping, Grid", () => new GridGrouping(), Navigation), } } }; }
public ItemsSpacingGallery() { var descriptionLabel = new Label { Text = "Item Spacing Galleries", Margin = new Thickness(2, 2, 2, 2) }; Title = "Item Spacing Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("Vertical List Spacing", () => new SpacingGallery(LinearItemsLayout.Vertical), Navigation), GalleryBuilder.NavButton("Horizontal List Spacing", () => new SpacingGallery(LinearItemsLayout.Horizontal), Navigation), GalleryBuilder.NavButton("Vertical Grid Spacing", () => new SpacingGallery(new GridItemsLayout(3, ItemsLayoutOrientation.Vertical)), Navigation), GalleryBuilder.NavButton("Horizontal Grid Spacing", () => new SpacingGallery(new GridItemsLayout(3, ItemsLayoutOrientation.Horizontal)), Navigation) } } }; }
public EmptyViewGallery() { var descriptionLabel = new Label { Text = "EmptyView Galleries", Margin = new Thickness(2, 2, 2, 2) }; Title = "EmptyView Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("EmptyView (null ItemsSource)", () => new EmptyViewNullGallery(), Navigation), GalleryBuilder.NavButton("EmptyView (String)", () => new EmptyViewStringGallery(), Navigation), GalleryBuilder.NavButton("EmptyView (View)", () => new EmptyViewViewGallery(), Navigation), GalleryBuilder.NavButton("EmptyView (Template View)", () => new EmptyViewTemplateGallery(), Navigation), GalleryBuilder.NavButton("EmptyView (Swap EmptyView)", () => new EmptyViewSwapGallery(), Navigation), GalleryBuilder.NavButton("EmptyView (load simulation)", () => new EmptyViewLoadSimulateGallery(), Navigation), } } }; }
public CarouselViewGallery() { Title = "CarouselView Galleries"; var button = new Button { Text = "Enable CarouselView" }; button.Clicked += ButtonClicked; Content = new ScrollView { Content = new StackLayout { Children = { button, GalleryBuilder.NavButton("CarouselView (Code, Horizontal)", () => new CarouselCodeGallery(ItemsLayoutOrientation.Horizontal), Navigation), GalleryBuilder.NavButton("CarouselView (Code, Vertical)", () => new CarouselCodeGallery(ItemsLayoutOrientation.Vertical), Navigation), GalleryBuilder.NavButton("CarouselView Snap", () => new CarouselSnapGallery(), Navigation), GalleryBuilder.NavButton("ObservableCollection and CarouselView", () => new CollectionCarouselViewGallery(), Navigation), GalleryBuilder.NavButton("CarouselView EmptyView", () => new EmptyCarouselGallery(), Navigation) } } }; }
public CollectionViewGallery() { Title = "CollectionView Gallery"; Content = new ScrollView { Content = new StackLayout { Children = { GalleryBuilder.NavButton("Default Text Galleries", () => new DefaultTextGallery(), Navigation), GalleryBuilder.NavButton("DataTemplate Galleries", () => new DataTemplateGallery(), Navigation), GalleryBuilder.NavButton("Observable Collection Galleries", () => new ObservableCollectionGallery(), Navigation), GalleryBuilder.NavButton("Snap Points Galleries", () => new SnapPointsGallery(), Navigation), GalleryBuilder.NavButton("ScrollTo Galleries", () => new ScrollToGallery(), Navigation), GalleryBuilder.NavButton("CarouselView Galleries", () => new CarouselViewGallery(), Navigation), GalleryBuilder.NavButton("EmptyView Galleries", () => new EmptyViewGallery(), Navigation), GalleryBuilder.NavButton("Selection Galleries", () => new SelectionGallery(), Navigation), GalleryBuilder.NavButton("Propagation Galleries", () => new PropagationGallery(), Navigation), GalleryBuilder.NavButton("Grouping Galleries", () => new GroupingGallery(), Navigation), GalleryBuilder.NavButton("Item Spacing Galleries", () => new ItemsSpacingGallery(), Navigation), GalleryBuilder.NavButton("Item Size Galleries", () => new ItemsSizeGallery(), Navigation), GalleryBuilder.NavButton("Scroll Mode Galleries", () => new ScrollModeGallery(), Navigation), GalleryBuilder.NavButton("Header/Footer Galleries", () => new HeaderFooterGallery(), Navigation), GalleryBuilder.NavButton("Nested CollectionViews", () => new NestedCollectionViewGallery(), Navigation) } } }; }
public RefreshViewGallery() { Title = "RefreshView Gallery"; var button = new Button { Text = "Enable CarouselView", AutomationId = "EnableCarouselView" }; button.Clicked += ButtonClicked; Content = new StackLayout { Children = { button, GalleryBuilder.NavButton("Refresh Layout Gallery", () => new RefreshLayoutGallery(), Navigation), GalleryBuilder.NavButton("Refresh ScrollView Gallery", () => new RefreshScrollViewGallery(), Navigation), GalleryBuilder.NavButton("Refresh ListView Gallery", () => new RefreshListViewGallery(), Navigation), GalleryBuilder.NavButton("Refresh CollectionView Gallery", () => new RefreshCollectionViewGallery(), Navigation), GalleryBuilder.NavButton("Refresh CarouselView Gallery", () => new RefreshCarouselViewGallery(), Navigation), GalleryBuilder.NavButton("Refresh WebView Gallery", () => new RefreshWebViewGallery(), Navigation), GalleryBuilder.NavButton("Pull Direction Gallery (Windows Only)",() => new RefreshViewWindows(), Navigation) } }; }
public DefaultTextGallery() { var descriptionLabel = new Label { Text = "No DataTemplates; just using the ToString() of the objects in the source.", Margin = new Thickness(2, 2, 2, 2) }; Title = "Default Text Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { // TODO hartez 2018-06-05 10:43 AM Need a gallery page which allows layout selection // so we can demonstrate switching between them descriptionLabel, GalleryBuilder.NavButton("Vertical List (Code)", () => new TextCodeCollectionViewGallery(LinearItemsLayout.Vertical), Navigation), GalleryBuilder.NavButton("Horizontal List (Code)", () => new TextCodeCollectionViewGallery(LinearItemsLayout.Horizontal), Navigation), GalleryBuilder.NavButton("Vertical Grid (Code)", () => new TextCodeCollectionViewGridGallery(), Navigation), GalleryBuilder.NavButton("Horizontal Grid (Code)", () => new TextCodeCollectionViewGridGallery(ItemsLayoutOrientation.Horizontal), Navigation), } } }; }
public ItemsSizeGallery() { var descriptionLabel = new Label { Text = "Item Size Galleries", Margin = new Thickness(2, 2, 2, 2) }; Title = "Item Size Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("Expanding Text (Vertical List)", () => new DynamicItemSizeGallery(LinearItemsLayout.Vertical), Navigation), GalleryBuilder.NavButton("Expanding Text (Horizontal List)", () => new DynamicItemSizeGallery(LinearItemsLayout.Horizontal), Navigation), GalleryBuilder.NavButton("ItemSizing Strategy", () => new VariableSizeTemplateGridGallery(ItemsLayoutOrientation.Horizontal), Navigation) } } }; }
public SwipeCollectionViewGallery() { Title = "CollectionView Galleries"; Content = new StackLayout { Children = { GalleryBuilder.NavButton("Horizontal CollectionView Gallery", () => new SwipeHorizontalCollectionViewGallery(), Navigation), GalleryBuilder.NavButton("Vertical CollectionView Gallery", () => new SwipeVerticalCollectionViewGallery(), Navigation) } }; }
public ScrollToGallery() { var descriptionLabel = new Label { Text = "ScrollTo Galleries", Margin = new Thickness(2, 2, 2, 2) }; Title = "ScrollTo Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("ScrollTo Index (Code, Horizontal List)", () => new ScrollToCodeGallery(LinearItemsLayout.Horizontal), Navigation), GalleryBuilder.NavButton("ScrollTo Index (Code, Vertical List)", () => new ScrollToCodeGallery(LinearItemsLayout.Vertical), Navigation), GalleryBuilder.NavButton("ScrollTo Index (Code, Horizontal Grid)", () => new ScrollToCodeGallery(new GridItemsLayout(3, ItemsLayoutOrientation.Horizontal)), Navigation), GalleryBuilder.NavButton("ScrollTo Index (Code, Vertical Grid)", () => new ScrollToCodeGallery(new GridItemsLayout(3, ItemsLayoutOrientation.Vertical)), Navigation), GalleryBuilder.NavButton("ScrollTo Item (Code, Horizontal List)", () => new ScrollToCodeGallery(LinearItemsLayout.Horizontal, ScrollToMode.Element, ExampleTemplates.ScrollToItemTemplate), Navigation), GalleryBuilder.NavButton("ScrollTo Item (Code, Vertical List)", () => new ScrollToCodeGallery(LinearItemsLayout.Vertical, ScrollToMode.Element, ExampleTemplates.ScrollToItemTemplate), Navigation), GalleryBuilder.NavButton("ScrollTo Item (Code, Horizontal Grid)", () => new ScrollToCodeGallery(new GridItemsLayout(3, ItemsLayoutOrientation.Horizontal), ScrollToMode.Element, ExampleTemplates.ScrollToItemTemplate), Navigation), GalleryBuilder.NavButton("ScrollTo Item (Code, Vertical Grid)", () => new ScrollToCodeGallery(new GridItemsLayout(3, ItemsLayoutOrientation.Vertical), ScrollToMode.Element, ExampleTemplates.ScrollToItemTemplate), Navigation), GalleryBuilder.NavButton("ScrollTo Index (Grouped)", () => new ScrollToGroup(), Navigation) } } }; }
public ObservableCollectionGallery() { var desc = "Observable Collection Galleries"; var descriptionLabel = new Label { Text = desc, Margin = new Thickness(2, 2, 2, 2) }; Title = "Simple DataTemplate Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("Filter Items", () => new FilterCollectionView(), Navigation), GalleryBuilder.NavButton("Add/Remove Items (List)", () => new ObservableCodeCollectionViewGallery(grid: false), Navigation), GalleryBuilder.NavButton("Add/Remove Items (Grid)", () => new ObservableCodeCollectionViewGallery(), Navigation), GalleryBuilder.NavButton("Add/Remove Items (Grid, initially empty)", () => new ObservableCodeCollectionViewGallery(initialItems: 0), Navigation), GalleryBuilder.NavButton("Add/Remove Items (List, initially empty)", () => new ObservableCodeCollectionViewGallery(grid: false, initialItems: 0), Navigation), GalleryBuilder.NavButton("Multi-item add/remove, no index", () => new ObservableMultiItemCollectionViewGallery(), Navigation), GalleryBuilder.NavButton("Multi-item add/remove, with index", () => new ObservableMultiItemCollectionViewGallery(withIndex: true), Navigation), GalleryBuilder.NavButton("Reset", () => new ObservableCollectionResetGallery(), Navigation), GalleryBuilder.NavButton("Add Items with timer to Empty Collection", () => new ObservableCodeCollectionViewGallery(grid: false, initialItems: 0, addItemsWithTimer: true), Navigation) } } }; }
public CustomSwipeItemGallery() { Title = "CustomSwipeItem Galleries"; var layout = new StackLayout { Children = { GalleryBuilder.NavButton("Customize SwipeItem Gallery", () => new CustomizeSwipeItemGallery(), Navigation), GalleryBuilder.NavButton("No Icon or Text SwipeItem Gallery", () => new NoIconTextSwipeItemGallery(), Navigation) } }; if (Device.RuntimePlatform != Device.UWP) { layout.Children.Add(GalleryBuilder.NavButton("SwipeItemView Gallery", () => new CustomSwipeItemViewGallery(), Navigation)); layout.Children.Add(GalleryBuilder.NavButton("CustomSwipeItem Size Gallery", () => new CustomSizeSwipeViewGallery(), Navigation)); } Content = layout; }
public ScrollModeGallery() { var descriptionLabel = new Label { Text = "Scroll Mode Galleries", Margin = new Thickness(2, 2, 2, 2) }; Title = "Scroll Mode Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("Scroll Modes Testing", () => new ScrollModeTestGallery(), Navigation) } } }; }
public SwipeViewGallery() { Title = "SwipeView Galleries"; var button = new Button { Text = "Enable SwipeView", AutomationId = "EnableSwipeView" }; button.Clicked += ButtonClicked; Content = new ScrollView { Content = new StackLayout { Children = { button, GalleryBuilder.NavButton("Basic SwipeView Gallery", () => new BasicSwipeGallery(), Navigation), GalleryBuilder.NavButton("SwipeView Events Gallery", () => new SwipeViewEventsGallery(), Navigation), GalleryBuilder.NavButton("SwipeItems from Resource Gallery", () => new ResourceSwipeItemsGallery(), Navigation), GalleryBuilder.NavButton("BindableLayout Gallery", () => new SwipeBindableLayoutGallery(), Navigation), GalleryBuilder.NavButton("ListView (RecycleElement) Gallery",() => new SwipeListViewGallery(), Navigation), GalleryBuilder.NavButton("CollectionView Galleries", () => new SwipeCollectionViewGallery(), Navigation), GalleryBuilder.NavButton("CarouselView Gallery", () => new SwipeCarouselViewGallery(), Navigation), GalleryBuilder.NavButton("SwipeBehaviorOnInvoked Gallery", () => new SwipeBehaviorOnInvokedGallery(), Navigation), GalleryBuilder.NavButton("Custom SwipeItem Galleries", () => new CustomSwipeItemGallery(), Navigation), GalleryBuilder.NavButton("SwipeItem Icon Gallery", () => new SwipeItemIconGallery(), Navigation), GalleryBuilder.NavButton("SwipeTransitionMode Gallery", () => new SwipeTransitionModeGallery(), Navigation), GalleryBuilder.NavButton("Add/Remove SwipeItems Gallery", () => new AddRemoveSwipeItemsGallery(), Navigation), GalleryBuilder.NavButton("Close SwipeView Gallery", () => new CloseSwipeGallery(), Navigation) } } }; }
public SelectionGallery() { var descriptionLabel = new Label { Text = "Selection Galleries", Margin = new Thickness(2, 2, 2, 2) }; Title = "Selection Galleries"; Content = new ScrollView { Content = new StackLayout { Children = { descriptionLabel, GalleryBuilder.NavButton("Selection Modes", () => new SelectionModeGallery(), Navigation), GalleryBuilder.NavButton("Preselected Item", () => new PreselectedItemGallery(), Navigation), GalleryBuilder.NavButton("Preselected Items", () => new PreselectedItemsGallery(), Navigation), GalleryBuilder.NavButton("Single Selection, Bound", () => new SingleBoundSelection(), Navigation), GalleryBuilder.NavButton("Multiple Selection, Bound", () => new MultipleBoundSelection(), Navigation), GalleryBuilder.NavButton("SelectionChangedCommandParameter", () => new SelectionChangedCommandParameter(), Navigation), GalleryBuilder.NavButton("Filterable Single Selection", () => new FilterSelection(), Navigation), GalleryBuilder.NavButton("Selection Synchronization", () => new SelectionSynchronization(), Navigation), } } }; }