Blazor - Get Started with Smart.Carousel
Setup The Project
Follow the Getting Started guide to set up your Blazor Application with Smart UI.
Setup Basic Carousel
Smart.Carousel is a custom component that enables you to easily create highly customizable slideshows.
- Add the Carousel component to the Pages/Index.razor file
<Carousel></Carousel>
- Create the array of items in the Carousel. Each item can contain Label, Content and Image. Items can also be set tu custom HTML content.
<Carousel DataSource="items"></Carousel> @code { dynamic[] items = new dynamic[]{ new {label="First Label", content="Additional Information", image="https://htmlelements.com/demos/images/carousel-medium-1.jpg"}, new {label="Second Label", content="Additional Information", image="https://htmlelements.com/demos/images/carousel-medium-2.jpg"}, new {label="Third Label", content="Additional Information", image="https://htmlelements.com/demos/images/carousel-medium-3.jpg"}, new {label="Forth Label", content="Additional Information", image="https://htmlelements.com/demos/images/carousel-medium-4.jpg"}, }; }
By deafault, the carousel can be controlled with controls and/or indicators
Controls
The navigation arrows and indicators are enabled by default but can be disabled using the HideArrows
and HideIndicators
The Carousel can also be set to slideshow mode - the slides are switched automatically in custom interval:
<Carousel DataSource="items" HideArrows HideIndicators SlideShow AutoPlay Loop Interval="1500"></Carousel>
Templates
Slides inside Smart.Carousel can be set to a custom template element. Set the ItemTemplate
property to the id of the template:
<template id="itemTemplate"> <h3 class="template-header">{{label}}</h3> <p class="template-content">{{content}}</p> <img class="template-image" src="{{image}}" /> </template> <Carousel DataSource="items" ItemTemplate="itemTemplate"></Carousel> @code { string itemTemplate = "itemTemplate"; .... }
3D Carousel
Smart.Carousel natively supports 3D display mode by setting DisplayMode
to CarouselDisplayMode.Threed
In addition, the scrolling direction and look of the slides can be customized with the Class
property
<Carousel DataSource="items" DisplayMode="CarouselDisplayMode.Threed" Class="horizontal circle"></Carousel>
Display Multiple Slides
The Carousel component can display multiple slides at the same time by setting DisplayMode
to CarouselDisplayMode.Multiple
<Carousel DataSource="items" DisplayMode="CarouselDisplayMode.Multiple"></Carousel>
Carousel Events
Smart.Carousel provides multiple events that can help you expand the component's functionality.
Each event object has unique event.detail parameters.
OnChange
- triggered when the active ( in view ) slide is changed.
Event Details
: int index, int indexOnChanging
- triggered when the process of slide changing starts.
Event Details
: int index, int indexSwipeLeft
- triggered when the user swipes to the left inside the Carousel.
Event Details
: N/ASwipeRight
- triggered when the user swipes to the right inside the Carousel.
Event Details
: N/A
The demo below uses the OnChange
Event to always return to the first slide after each change:
<Carousel @ref="@carousel" DataSource="items" DisplayMode="CarouselDisplayMode.Threed" Class="circle" OnChange="OnChange"></Carousel> @code { Carousel carousel; dynamic[] items = new dynamic[]{ new {label="First Label", content="Additional Information", image="https://htmlelements.com/demos/images/carousel-medium-1.jpg"}, new {label="Second Label", content="Additional Information", image="https://htmlelements.com/demos/images/carousel-medium-2.jpg"}, new {label="Third Label", content="Additional Information", image="https://htmlelements.com/demos/images/carousel-medium-3.jpg"}, new {label="Forth Label", content="Additional Information", image="https://htmlelements.com/demos/images/carousel-medium-4.jpg"}, }; private void OnChange(){ carousel.SlideTo(0); } }