Stop TabControl from recreating its children
I have an IList of viewmodels which are bound to a TabControl . This IList will not change over the lifetime of the TabControl . <TabControl ItemsSource="{Binding Tabs}" SelectedIndex="0" > <TabControl.ItemContainerStyle> <Style TargetType="TabItem"> <Setter Property="Content" Value="{Binding}" /> </Style> </TabControl.ItemContainerStyle> </TabControl> Each viewmodel has a DataTemplate which is specified in a ResourceDictionary . <DataTemplate TargetType={x:Type vm:MyViewModel}> <v:MyView/> </DataTemplate> Each of the views specified in the DataTemplate are resource intensive enough to create