Class
TelerikTabStrip

A tabbed navigation component with configurable placement, scrolling, and programmatic activation. Define tabs via TabStripTab in ChildContent; control active tab with ActiveTabId/ActiveTabIdChanged (or the obsolete ActiveTabIndex), and placement through TabPosition (Top/Bottom/Left/Right). Supports content persistence (PersistTabContent), scrollable tab lists (Scrollable with ScrollButtonsPosition and ScrollButtonsVisibility), alignment (TabAlignment), sizing (Size), and container dimensions (Width/Height). Keyboard navigation (Home/End/Arrow keys) and focus handling are built-in. Children: TabStripTab tags.

Definition

Namespace:Telerik.Blazor.Components

Assembly:Telerik.Blazor.dll

Syntax:

cs-api-definition
public class TelerikTabStrip : BaseComponent, IComponent, IHandleEvent, IHandleAfterRender, IDisposable

Inheritance: objectComponentBaseBaseComponentTelerikTabStrip

Implements: IComponentIDisposableIHandleAfterRenderIHandleEvent

Inherited Members BaseComponent.ShouldRender()BaseComponent.OnInitializedAsync()BaseComponent.InitLocalizer()BaseComponent.ThrowIfParameterIsNull(object, string)BaseComponent.HaveOptionsChanged(IDictionary<string, object>, IDictionary<string, object>)BaseComponent.GetClassString(params string[])BaseComponent.InvokeAsync<T>(string, params object[])BaseComponent.InvokeAsync<T>(string, CancellationToken, params object[])BaseComponent.InvokeVoidAsync(string, params object[])BaseComponent.InvokeVoidAsyncWithoutAwait(string, params object[])BaseComponent.InvokeComponentMethodAsync<T>(string, params object[])BaseComponent.InvokeComponentMethodAsync<T>(string, CancellationToken, params object[])BaseComponent.InvokeVoidComponentMethodAsync(string, params object[])BaseComponent.InvokeComponentVoidMethodAsync(string, object)BaseComponent.InvokeDisposeAsync()BaseComponent.StateHasChanged()BaseComponent.RootComponentBaseComponent.ClassComponentBase.OnInitialized()ComponentBase.OnParametersSet()ComponentBase.OnParametersSetAsync()ComponentBase.OnAfterRender(bool)ComponentBase.InvokeAsync(Action)ComponentBase.InvokeAsync(Func<Task>)ComponentBase.DispatchExceptionAsync(Exception)

Constructors

TelerikTabStrip()

Declaration

cs-api-definition
public TelerikTabStrip()

Properties

ActiveTabId

Sets the unique identifier of the active tab. Cannot be used together with ActiveTabIndex - choose one approach for tab activation. Throws ArgumentException when both are provided.

Declaration

cs-api-definition
[Parameter]
public string ActiveTabId { get; set; }

Property Value

string

ActiveTabIdChanged

Occurs when the active tab changes through user interaction or programmatic updates. Use with ActiveTabId for two-way binding (bind-ActiveTabId) to track and control tab selection by unique identifier.

Declaration

cs-api-definition
[Parameter]
public EventCallback<string> ActiveTabIdChanged { get; set; }

Property Value

EventCallback<string>

ChildContent

The content of the TabStrip. Children: TabStripTab tags.

Declaration

cs-api-definition
[Parameter]
public RenderFragment ChildContent { get; set; }

Property Value

RenderFragment

EnableTabReorder

Specifies whether users can reorder tabs via drag-and-drop interaction.

Declaration

cs-api-definition
[Parameter]
public bool EnableTabReorder { get; set; }

Property Value

bool

Height

Sets the component height using any valid CSS unit (e.g., "400px", "75vh", "25em"). Controls the total TabStrip area including tabs and content regions.

Declaration

cs-api-definition
[Parameter]
public string Height { get; set; }

Property Value

string

Id

Sets a unique identifier for the TabStrip component instance. Useful for CSS targeting, automation testing, and accessibility scenarios where specific TabStrip identification is required.

Declaration

cs-api-definition
[Parameter]
public string Id { get; set; }

Property Value

string

OnStateChanged

Raises after initialization whenever the TabStrip state changes, for example when the active tab changes. Use this event to get the latest state upon changes due to user interaction. This event is not raised for the initial state (handled by OnStateInit).

Declaration

cs-api-definition
[Parameter]
public EventCallback<TabStripStateEventArgs> OnStateChanged { get; set; }

Property Value

EventCallback<TabStripStateEventArgs>

OnStateInit

Raises when the TabStrip initializes its state, before it starts sending regular state change notifications. Use this event to inspect, customize, or restore the initial state (for example, the active tab) represented by the TabStripStateEventArgs argument.

Declaration

cs-api-definition
[Parameter]
public EventCallback<TabStripStateEventArgs> OnStateInit { get; set; }

Property Value

EventCallback<TabStripStateEventArgs>

OnTabReorder

Occurs when a tab is reordered through drag-and-drop interaction. Provides the tab ID and its new zero-based index position after reordering.

Declaration

cs-api-definition
[Parameter]
public EventCallback<TabStripTabReorderEventArgs> OnTabReorder { get; set; }

Property Value

EventCallback<TabStripTabReorderEventArgs>

OverflowMode

Configures the behavior of tabs when they exceed the available space in the tab list area.

Declaration

cs-api-definition
[Parameter]
public TabStripOverflowMode OverflowMode { get; set; }

Property Value

TabStripOverflowMode

PersistTabContent

Preserves tab content in memory when switching between tabs, avoiding content recreation. Improves user experience for forms and complex content but increases memory usage with many tabs. Default value is false.

Declaration

cs-api-definition
[Parameter]
public bool PersistTabContent { get; set; }

Property Value

bool

ScrollButtonsPosition

Controls where scroll buttons appear when Scrollable is enabled. Use Split (default) for buttons on both sides, Start for buttons before tabs, or End for buttons after tabs.

Declaration

cs-api-definition
[Parameter]
public TabStripScrollButtonsPosition ScrollButtonsPosition { get; set; }

Property Value

TabStripScrollButtonsPosition

ScrollButtonsVisibility

Determines when scroll buttons are visible for scrollable TabStrips. Use Auto (default) to show buttons only when needed, Visible to always show buttons, or Hidden for mouse-only scrolling.

Declaration

cs-api-definition
[Parameter]
public TabStripScrollButtonsVisibility ScrollButtonsVisibility { get; set; }

Property Value

TabStripScrollButtonsVisibility

ScrollButtonsVisible

Declaration

cs-api-definition
public bool ScrollButtonsVisible { get; }

Property Value

bool

Scrollable

Enables horizontal scrolling when tabs exceed the available width. Works with ScrollButtonsPosition and ScrollButtonsVisibility to control scroll button behavior. Default value is false.

Declaration

cs-api-definition
[Obsolete("The parameter is deprecated. Use OverflowMode instead with TabStripOverflowMode.Scroll value.")]
[Parameter]
public bool Scrollable { get; set; }

Property Value

bool

Size

Controls the visual size of tabs and related elements. Use "small", "medium" (default), or "large" to match your application's design scale and improve touch accessibility.

Declaration

cs-api-definition
[Parameter]
public string Size { get; set; }

Property Value

string

TabAlignment

Controls how tabs are aligned within the tab list area. Use Start (default) for left-aligned tabs, Center for centered tabs, or Stretched to expand tabs equally.

Declaration

cs-api-definition
[Parameter]
public TabStripTabAlignment TabAlignment { get; set; }

Property Value

TabStripTabAlignment

TabPosition

Controls the placement of the tab list relative to the content area. Set to Top (default) for tabs above content, Bottom for tabs below content, or Left/Right for vertical tab layouts.

Declaration

cs-api-definition
[Parameter]
public TabPosition TabPosition { get; set; }

Property Value

TabPosition

TabStripSuffixTemplate

Template rendered after the tab list, inside the TabStrip container. Use this template to add custom content such as action buttons, dropdowns, or additional navigation elements related to the tabs.

Declaration

cs-api-definition
[Parameter]
public RenderFragment TabStripSuffixTemplate { get; set; }

Property Value

RenderFragment

Width

Sets the component width using any valid CSS unit (e.g., "300px", "50%", "20em"). Affects the overall TabStrip container and influences tab scrolling behavior when combined with Scrollable.

Declaration

cs-api-definition
[Parameter]
public string Width { get; set; }

Property Value

string

Methods

BuildRenderTree(RenderTreeBuilder)

Declaration

cs-api-definition
protected override void BuildRenderTree(RenderTreeBuilder __builder)

Parameters

__builder

RenderTreeBuilder

Overrides ComponentBase.BuildRenderTree(RenderTreeBuilder)

Dispose()

Declaration

cs-api-definition
public override void Dispose()

Overrides BaseComponent.Dispose()

GetState()

Gets the current state of the TabStrip, including the active tab, the order of tabs, and the visibility and pinned settings for each tab.

Declaration

cs-api-definition
public TabStripState GetState()

Returns

TabStripState

Remarks

The returned TabStripState contains only UI configuration such as active tab id, tab ordering, and per-tab visibility and pinned information. It does not include tab content, user data, templates, or any underlying data source. Use this method to capture the TabStrip configuration so that it can later be restored with SetState(TabStripState).

OnAfterRenderAsync(bool)

Declaration

cs-api-definition
protected override Task OnAfterRenderAsync(bool firstRender)

Parameters

firstRender

bool

Returns

Task

Overrides BaseComponent.OnAfterRenderAsync(bool)

Refresh()

Forces the TabStrip to re-render its content and update its visual state. Call this method when external data changes require the TabStrip to refresh its appearance or when tabs are dynamically modified.

Declaration

cs-api-definition
public void Refresh()

SetParametersAsync(ParameterView)

Declaration

cs-api-definition
public override Task SetParametersAsync(ParameterView parameters)

Parameters

parameters

ParameterView

Returns

Task

Overrides ComponentBase.SetParametersAsync(ParameterView)

SetState(TabStripState)

Applies a previously captured TabStrip state to restore the active tab, tab order, and the visibility and pinned settings of each tab.

Declaration

cs-api-definition
public Task SetState(TabStripState state)

Parameters

state

TabStripState

The TabStripState to apply. If null, the method does nothing.

Returns

Task

Remarks

This method restores the active tab, the ordering of tabs, and each tab's visibility and pinned configuration from the provided state. It does not recreate tabs, load or persist their content, restore templates, or modify any underlying data source. Tabs that exist in the component but are not present in state keep their relative order after the restored tabs.