skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • NEW: Design Kits for Figma
    • Online Training
    • Document Processing Library
    • Embedded Reporting for web and desktop
    Web
    Kendo UI UI for jQuery UI for Angular UI for React UI for Vue UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX UI for Silverlight UI for PHP UI for JSP
    Mobile
    UI for .NET MAUI UI for Xamarin
    Document Management
    Telerik Document Processing
    Desktop
    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF UI for UWP
    Reporting & Mocking
    Telerik Reporting Telerik Report Server Telerik JustMock
    Automated Testing
    Test Studio Test Studio Dev Edition
    CMS
    Sitefinity
    UI/UX Tools
    ThemeBuilder Design System Kit
    Debugging
    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Jam FiddlerCap FiddlerCore
    Extended Reality
    UI for Unity XR
    Free Tools
    JustAssembly JustDecompile VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Search
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class RadTabControlBase

A base class providing functionality to controls used to create tabbed interfaces.

Inheritance
System.Object
RadTabControlBase
RadDiagramToolbox
RadRibbonView
RadTabControl
Namespace: Telerik.Windows.Controls.TabControl
Assembly: Telerik.Windows.Controls.Navigation.dll

Syntax

public abstract class RadTabControlBase : MultiSelector

Constructors

RadTabControlBase()

Initializes a new instance of the RadTabControlBase class.

Declaration
protected RadTabControlBase()

Fields

BackgroundVisibilityProperty

Identifies the BackgroundVisibility property.

Declaration
public static readonly DependencyProperty BackgroundVisibilityProperty
Field Value
System.Windows.DependencyProperty

ContentTemplateProperty

Identifies the ContentTemplate property.

Declaration
public static readonly DependencyProperty ContentTemplateProperty
Field Value
System.Windows.DependencyProperty

ContentTemplateSelectorProperty

Identifies the ContentTemplateSelector property.

Declaration
public static readonly DependencyProperty ContentTemplateSelectorProperty
Field Value
System.Windows.DependencyProperty

DropDownClosedEvent

Identifies the DropDownClosed routed event.

Declaration
public static readonly RoutedEvent DropDownClosedEvent
Field Value
System.Windows.RoutedEvent

DropDownOpenedEvent

Identifies the DropDownOpened routed event.

Declaration
public static readonly RoutedEvent DropDownOpenedEvent
Field Value
System.Windows.RoutedEvent

HeaderBackgroundProperty

Identifies the HeaderBackground property.

Declaration
public static readonly DependencyProperty HeaderBackgroundProperty
Field Value
System.Windows.DependencyProperty

IsContentPreservedProperty

Identifies the IsContentPreserved property.

Declaration
public static readonly DependencyProperty IsContentPreservedProperty
Field Value
System.Windows.DependencyProperty

PreviewSelectionChangedEvent

Identifies the PreviewSelectionChanged routed event.

Declaration
public static readonly RoutedEvent PreviewSelectionChangedEvent
Field Value
System.Windows.RoutedEvent

PropagateItemDataContextToContentProperty

Identifies the PropagateItemDataContextToContent property.

Declaration
public static readonly DependencyProperty PropagateItemDataContextToContentProperty
Field Value
System.Windows.DependencyProperty

ReorderTabRowsProperty

Identifies the ReorderTabRows property.

Declaration
public static readonly DependencyProperty ReorderTabRowsProperty
Field Value
System.Windows.DependencyProperty

SelectedContentProperty

Identifies the SelectedContent property.

Declaration
public static readonly DependencyProperty SelectedContentProperty
Field Value
System.Windows.DependencyProperty

SelectedContentTemplateProperty

Identifies the SelectedContentTemplate property.

Declaration
public static readonly DependencyProperty SelectedContentTemplateProperty
Field Value
System.Windows.DependencyProperty

SelectedContentTemplateSelectorProperty

Identifies the SelectedContentTemplateSelector property.

Declaration
public static readonly DependencyProperty SelectedContentTemplateSelectorProperty
Field Value
System.Windows.DependencyProperty

SelectedItemRemoveBehaviourProperty

Identifies the SelectedItemRemoveBehaviour property.

Declaration
public static readonly DependencyProperty SelectedItemRemoveBehaviourProperty
Field Value
System.Windows.DependencyProperty

SelectionChangedEvent

Identifies the SelectionChanged routed event.

Declaration
public static readonly RoutedEvent SelectionChangedEvent
Field Value
System.Windows.RoutedEvent

Properties

BackgroundVisibility

Gets or sets the visibility of the background panel for the headers in the tab control. This is a dependency property.

Declaration
[SRCategory("AppearanceCategory")]
[SRDescription("TabControlBackgroundOpacityDescription")]
public virtual Visibility BackgroundVisibility { get; set; }
Property Value
System.Windows.Visibility

Remarks

This property gives you a quick way to change the visibility of the background without having to modify the ControlTemplate of the TabControl.

This property does not affect the visibility of the divider (the line between the items and the content). To change the divider, edit the appropriate control template.

The default value is Visible.

ContentElement

The ContentElement template part.

Declaration
protected ContentPresenter ContentElement { get; set; }
Property Value
System.Windows.Controls.ContentPresenter

The content element.

ContentElementsPanel

The ContentElementsPanel template part.

Declaration
protected Grid ContentElementsPanel { get; set; }
Property Value
System.Windows.Controls.Grid

The content element.

ContentTemplate

Gets or sets the System.Windows.DataTemplate that will be used as a content template for all items that do not have a ContentTemplate. This is a dependency property.

Declaration
[SRCategory("AppearanceCategory")]
public virtual DataTemplate ContentTemplate { get; set; }
Property Value
System.Windows.DataTemplate

ContentTemplateSelector

Gets or sets the DataTemplateSelector that will be used to select a data template for the items that do not have a ContentTemplate set. This is a dependency property.

Declaration
[SRCategory("AppearanceCategory")]
public virtual DataTemplateSelector ContentTemplateSelector { get; set; }
Property Value
System.Windows.Controls.DataTemplateSelector

HeaderBackground

Gets or sets the background of the tab strip. This is a dependency property.

Declaration
[SRCategory("AppearanceCategory")]
public virtual Brush HeaderBackground { get; set; }
Property Value
System.Windows.Media.Brush

Remarks

This property gives you a quick way to change the tab strip background without having to modify the ControlTemplate of the TabControl.

IsContentPreserved

Gets or sets a value indicating whether the state of the content will be preserved when selection is changed.

Declaration
public virtual bool IsContentPreserved { get; set; }
Property Value
System.Boolean

True if the first tab will preserve the content state; otherwise, false.

IsDefaultItemSelected

Gets or sets a value indicating whether the first tab item will be selected by default on start up.

Declaration
public bool IsDefaultItemSelected { get; set; }
Property Value
System.Boolean

True if the first tab item will be selected; otherwise, false.

Item[Int32]

Indexer, gets the tab item with the given index in the items collection.

Declaration
public virtual IRadTabItem this[int index] { get; }
Parameters
System.Int32 index

The index of the tab item in the Items collection of tab control.

Property Value
IRadTabItem

The tab item with the given index in the Items collection of the tab control.

Remarks

You can use the indexer to quickly get the item at given index. The indexer is a shortcut for the ContainerFromIndex method.

Note that you cannot use the indexer to change (replace) an item if you would like to do this use the System.Windows.Controls.ItemsControl.Items property. If an invalid index is passed null is returned.

PropagateItemDataContextToContent

Gets or sets a value indication whether the data context of the tab item should be assigned as DataContext of the content area when the selection changes. The default is true.

Declaration
public virtual bool PropagateItemDataContextToContent { get; set; }
Property Value
System.Boolean

Remarks

In Silverlight the DataContext is inherited visually and it may be expected that the content of a tab item will have its DataContext. This property specifies that the DataContext of the content area will be changed to assure this.

ReorderTabRows

Gets or sets whether the tab item rows would be reordered when selected. This is a dependency property.

Declaration
[SRCategory("BehaviourCategory")]
[SRDescription("TabControlReorderTabRowsDescription")]
public virtual bool ReorderTabRows { get; set; }
Property Value
System.Boolean

Remarks

The ReorderTabRows property governs the behavior of the tab items when selected. Its effect can only be observed when more than one row of tab items are present.

Setting the property to true would make the rows in the TabStrip change place so that the selected item is always in the row nearest to the presented content (i.e. the bottommost row in a Top position, the rightmost column in a Left position, etc.)

Please note that the index of each item remains the same even when reordered.

The default value is true.

SelectedContent

Gets the content of the selected item. This is a dependency property.

Declaration
public virtual object SelectedContent { get; set; }
Property Value
System.Object

Remarks

The SelectedContent property returns the content of the currently selected item.

If no items are selected, the property would return null.

SelectedContentTemplate

Gets the content template of the currently selected item. Do not set this property because it is changed internally. This is a dependency property.

Declaration
public virtual DataTemplate SelectedContentTemplate { get; set; }
Property Value
System.Windows.DataTemplate

Remarks

The ContentTemplate property returns the content template of the currently selected item.

Note that the property cannot be set. To change the ContentTemplate of the tab items, use the System.Windows.Controls.ItemsControl.ItemTemplate and System.Windows.Controls.ItemsControl.ItemTemplateSelector properties if an System.Windows.Controls.ItemsControl.ItemsSource has been provided. Alternatively the System.Windows.Controls.ContentControl.ContentTemplate can be used to assign a template on a per-item basis.

SelectedContentTemplateSelector

Gets the DataTemplateSelector for the currently selected item. Do not set this property because it is changed internally. This is a dependency property.

Declaration
[SRCategory("AppearanceCategory")]
public virtual DataTemplateSelector SelectedContentTemplateSelector { get; set; }
Property Value
System.Windows.Controls.DataTemplateSelector

SelectedItemRemoveBehaviour

Determines what item should be selected when SelectedItem is removed.

Declaration
public SelectedItemRemoveBehaviour SelectedItemRemoveBehaviour { get; set; }
Property Value
SelectedItemRemoveBehaviour

SelectedItems

SelectedItems property is not supported by this control.

Declaration
public IList SelectedItems { get; }
Property Value
System.Collections.IList

SupressSelectedContentTemplateReapplying

Gets or sets a value indicating whether the ContentPresenter rendering the tab items must refresh its data template on selection change. This property must be use in case when visual objects are used in the view model child collection bound to the tab control.

Declaration
public virtual bool SupressSelectedContentTemplateReapplying { get; set; }
Property Value
System.Boolean

TabFlags

Gets the flags.

Declaration
protected RadTabControlBase.TabControlState TabFlags { get; }
Property Value
RadTabControlBase.TabControlState

TabStrip

Gets or sets the tab strip. The tab strip visually represents the headers of tab items.

Declaration
protected Panel TabStrip { get; set; }
Property Value
System.Windows.Controls.Panel

The tab strip.

Methods

AddDropDownClosedHandler(UIElement, DropDownEventHandler)

Adds a handler to the target for the DropDownClosed routed event.

Declaration
public static void AddDropDownClosedHandler(UIElement target, DropDownEventHandler handler)
Parameters
System.Windows.UIElement target

The target element to add a handler to.

DropDownEventHandler handler

The handler to add for this event.

AddDropDownOpenedHandler(UIElement, DropDownEventHandler)

Adds a handler to the target for the DropDownOpened routed event.

Declaration
public static void AddDropDownOpenedHandler(UIElement target, DropDownEventHandler handler)
Parameters
System.Windows.UIElement target

The target element to add a handler to.

DropDownEventHandler handler

The handler to add for this event.

ChangeVisualState(Boolean)

Updates the visual states of the control.

Declaration
protected virtual void ChangeVisualState(bool useTransitions)
Parameters
System.Boolean useTransitions

Identifies whether the transitions should be used.

ClearContentSafely()

Clears all ContentPresenter elements inside the ContentElementStorage template part and clears the ContentElement template part. Also clears the ContentElementStorage children used to represent content from different tab items.

Declaration
protected void ClearContentSafely()

GetContainer()

Returns a new instance of the control that implements the IRadTabItem interface.

Declaration
protected virtual IRadTabItem GetContainer()
Returns
IRadTabItem

GetContainerForItemOverride()

Creates the element that is used to display the given item.

Declaration
protected override DependencyObject GetContainerForItemOverride()
Returns
System.Windows.DependencyObject

GoToState(Boolean, String[])

Attempts to move the control to one of the states in the list.

Declaration
protected void GoToState(bool useTransitions, params string[] stateNames)
Parameters
System.Boolean useTransitions

Indicates whether transitions should be used.

System.String[] stateNames

The names of the states that should be reached.

IsItemItsOwnContainerOverride(Object)

Determines if the specified item is (or is eligible to be) its own container.

Declaration
protected override bool IsItemItsOwnContainerOverride(object item)
Parameters
System.Object item

The item to check.

Returns
System.Boolean

True if the item is (or is eligible to be) its own container; otherwise, false.

IsSelectionNonBoundAtClientSide()

Determines of user has no bindings to SelectedIndex or SelectedItem properties.

Declaration
protected virtual bool IsSelectionNonBoundAtClientSide()
Returns
System.Boolean

OnPreviewSelectionChanged(SelectionChangedEventArgs)

Raises the PreviewSelectionChangedEvent.

Declaration
protected virtual void OnPreviewSelectionChanged(SelectionChangedEventArgs e)
Parameters
System.Windows.Controls.SelectionChangedEventArgs e

OnSelectionChanged(RadSelectionChangedEventArgs)

Raises the SelectionChanged routed event.

Declaration
protected virtual void OnSelectionChanged(RadSelectionChangedEventArgs e)
Parameters
RadSelectionChangedEventArgs e

RemoveDropDownClosedHandler(UIElement, DropDownEventHandler)

Removes a handler to the target for the DropDownClosed routed event.

Declaration
public static void RemoveDropDownClosedHandler(UIElement target, DropDownEventHandler handler)
Parameters
System.Windows.UIElement target

The target element to remove a handler from.

DropDownEventHandler handler

The handler to remove for this element.

RemoveDropDownOpenedHandler(UIElement, DropDownEventHandler)

Removes a handler to the target for the DropDownOpened routed event.

Declaration
public static void RemoveDropDownOpenedHandler(UIElement target, DropDownEventHandler handler)
Parameters
System.Windows.UIElement target

The target element to remove a handler from.

DropDownEventHandler handler

The handler to remove for this element.

Selector_SelectionChanged(Object, SelectionChangedEventArgs)

Handles the System.Windows.Controls.Primitives.Selector.SelectionChanged event of the Selector control.

Declaration
protected virtual void Selector_SelectionChanged(object sender, SelectionChangedEventArgs e)
Parameters
System.Object sender

The source of the event.

System.Windows.Controls.SelectionChangedEventArgs e

The instance containing the event data.

UpdateFocusOnSelectionChange()

Updates the focus. This method should be called after selection of tab item in order to focus the appropriate element. If the focus is outside the tab or in the contents of the previously selected tab item then the first element in the selected tab contents will be focused. If the TabStrip is focused calling this method will focus the newly selected tab header.

Declaration
protected virtual void UpdateFocusOnSelectionChange()

UpdateSelectedContentProperties()

Updates the selected content properties SelectedContent, SelectedContentTemplate and SelectedContentTemplateSelector. This method must be implemented appropriately in the deriving class. Selected content properties are used when representing the content of selected tab item.

Declaration
protected virtual void UpdateSelectedContentProperties()

UpdateTabRows()

Visually updates the tab rows.

Declaration
protected virtual void UpdateTabRows()

Events

DropDownClosed

An event that is raised when the DropDownMenu is closed. This is a RoutedEvent.

Declaration
public virtual event DropDownEventHandler DropDownClosed
Event Type
DropDownEventHandler

DropDownOpened

An event that is raised when the DropDownMenu is opened. This is a RoutedEvent.

Declaration
public virtual event DropDownEventHandler DropDownOpened
Event Type
DropDownEventHandler

PreviewSelectionChanged

The preview event for SelectionChanged event. Handling this event rollbacks the selection. This is a RoutedEvent.

Declaration
public event RadSelectionChangedEventHandler PreviewSelectionChanged
Event Type
RadSelectionChangedEventHandler

SelectionChanged

Occurs when a changed has been made to the selection. This is a RoutedEvent.

Declaration
[SRDescription("TabControlSelectionChangedDescription")]
public event RadSelectionChangedEventHandler SelectionChanged
Event Type
RadSelectionChangedEventHandler

Extension Methods

CollectionExtensions.ToEnumerable<T>(T)
EnumerableExtensions.ToEnumerable<T>(T)

Was this article helpful?

Tell us how we can improve this article

Skip
Getting Started
  • Install Now
  • Demos
  • SDK Samples Browser
  • Sample Applications
Support Resources
  • Code Library
  • Knowledge Base
  • MVVM Support
  • Videos
  • GitHub SDK Repository
Community
  • Forums
  • Blogs
  • XAML Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.