uses lazy loading which basically means that it loads the content of its tabs only when these tabs are selected. Additionally the component destroys the content of an unselected tab whenever the selection changes. These are the reasons behind the behavior you described.
You can easily stop the RadTabControl
from destroying the content of unselected tabs using the IsContentPreserved
property further described in the How to Keep the Content State
However, there is not an easy way to make the component load all RadTabItem Contents on load and if this is what you're looking for, then I would suggest as a workaround to manually traverse the RadTabControl.Items collection and selected each tab once so that it content can load:
public void TabControl_Loaded(object sender, RoutedEventArgs e)
var tabControl = sender as RadTabControl;
var orgIndex = tabControl.SelectedIndex;
foreach (RadTabItem item in tabControl.Items)
item.IsSelected = true;
tabControl.SelectedIndex = orgIndex;
I attached a sample solution for your convenience. Please give this approach a try and let me know if it helps.