New to Telerik UI for WPF? Start a free 30-day trial

Getting Started with WPF TabbedWindow

Updated on Oct 28, 2026

This tutorial will walk you through the creation of a sample application that contains a RadTabbedWindow control.

Adding Telerik Assemblies Using NuGet

To use RadTabbedWindow when working with NuGet packages, install the Telerik.Windows.Controls.Navigation.for.Wpf.Xaml package. The package name may vary slightly based on the Telerik dlls set - Xaml or NoXaml

Read more about NuGet installation in the Installing UI for WPF from NuGet Package article.

With the 2025 Q1 release, Telerik UI for WPF has a new licensing mechanism. See Installing a License Key for setup instructions.

Adding Assembly References Manually

If you are not using NuGet packages, you can add a reference to the following assemblies:

  • Telerik.Licensing.Runtime
  • Telerik.Windows.Controls
  • Telerik.Windows.Controls.Navigation
  • Telerik.Windows.Controls.Data

Adding RadTabbedWindow to the Project

In Visual Studio, open the project's Add New Item dialog. Select Window (WPF), name it TabbedWindow, and select Add.

Add new WPF Window

Visual Studio Add New Item dialog for creating TabbedWindow with the Window (WPF) template.

After this, replace the generated Window declaration with the following XAML code:

Example 1: Defining a RadTabbedWindow in XAML

XAML
<telerik:RadTabbedWindow x:Class="GettingStarted.TabbedWindow"
                xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
</telerik:RadTabbedWindow>

Please note that you need to replace the GettingStarted namespace with your namespace.

Also in the code-behind file you should inherit the RadTabbedWindow instead of the standard MS Window.

Example 2: Inherit from RadTabbedWindow

C#
public partial class TabbedWindow : RadTabbedWindow
{
    public TabbedWindow()
    {
        InitializeComponent();
    }
}

Finally, you can remove the StartupUri property from the App.xaml file and replace the code-behind with the following:

Example 3: Open RadTabbedWindow on application startup

C#
public partial class App : Application
{
    public App()
    {
        var tabbedWindow = new TabbedWindow();
        tabbedWindow.Header = "My Tabbed Window";
        tabbedWindow.Height = 400;
        tabbedWindow.Width = 600;
        tabbedWindow.Show();
    }
}

Run the application to display an empty RadTabbedWindow with no tabs, as shown below.

Empty RadTabbedWindow

RadTabbedWindow before any tab items are added.

If you're using the implicit styles theming mechanism with the NoXaml binaries, note that the newly created window will not automatically receive the default style. In order for this to happen, you should add the following style after the merged dictionaries:

Example 4: Adding the style for the new TabbedWindow

XAML
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Themes/System.Windows.xaml" />
            <ResourceDictionary Source="Themes/Telerik.Windows.Controls.xaml" />
            <ResourceDictionary Source="Themes/Telerik.Windows.Controls.Navigation.xaml" />
        </ResourceDictionary.MergedDictionaries>
        <Style TargetType="local:TabbedWindow" BasedOn="{StaticResource RadTabbedWindowStyle}" />
    </ResourceDictionary>
</Application.Resources>

Add Tabs

You can add tabs to the window by directly defining them as its content.

Example 5: Adding Tabs to RadTabbedWindow in XAML

XAML
<telerik:RadTabbedWindow
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
    <telerik:RadTabItem Header="Microsoft">
        <TextBlock Text="Microsoft Content" />
    </telerik:RadTabItem>
    <telerik:RadTabItem Header="Google">
        <TextBlock Text="Google Content" />
    </telerik:RadTabItem>
    <telerik:RadTabItem Header="Progress">
        <TextBlock Text="Progress Content" />
    </telerik:RadTabItem>
</telerik:RadTabbedWindow>

Run the application to display the Microsoft, Google, and Progress tabs. The selected Microsoft tab displays Microsoft Content.

RadTabbedWindow with tabs

RadTabbedWindow with three tabs and the first tab selected.

Alternatively, you can set the ItemsSource property of the control or bind it to a collection in your viewmodel. You can find an example of how to do this in the Data Binding article.

Setting a Theme

The controls from our suite support different themes. See Applying a Theme with Implicit Styles for instructions.

Changing the theme using implicit styles will affect all controls that have styles defined in the merged resource dictionaries. This is applicable only for the controls in the scope in which the resources are merged.

To change the theme, you can follow the steps below:

  • Choose between the themes and add reference to the corresponding theme assembly (ex: Telerik.Windows.Themes.Windows8.dll). You can see the different themes applied in the Theming examples from our WPF Controls Examples application.

  • Merge the resource dictionaries with the namespace required for the controls that you are using from the theme assembly. For RadTabbedWindow, you will need to merge the following resource dictionaries:

    • System.Windows.xaml
    • Telerik.Windows.Controls.xaml
    • Telerik.Windows.Controls.Navigation.xaml

Example 6 demonstrates how to merge the resource dictionaries so that they are applied globally for the entire application.

Example 6: Merge the ResourceDictionaries

XAML
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/System.Windows.xaml"/>
            <ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/Telerik.Windows.Controls.xaml"/>
            <ResourceDictionary Source="/Telerik.Windows.Themes.Windows8;component/Themes/Telerik.Windows.Controls.Navigation.xaml"/>
        </ResourceDictionary.MergedDictionaries>
        <Style TargetType="local:TabbedWindow" BasedOn="{StaticResource RadTabbedWindowStyle}" />
    </ResourceDictionary>
</Application.Resources>

The following screenshot shows the tabbed window after applying the Windows8 theme. The selected tab still displays Microsoft Content.

RadTabbedWindow with the Windows8 theme

RadTabbedWindow styled with the Windows8 theme.

Telerik UI for WPF Learning Resources

See Also