2015-07-29 1 views
0

Existe-t-il un moyen d'initialiser le contenu de l'onglet lors du chargement de l'onglet? J'ai un problème, quand Tab est créé, il ne l'initialise pas immédiatement. Ce n'est que lorsque je clique sur Tab que le contenu apparaîtra.Comment initialiser le contenu TabItem sur le chargement de TabItem?

<TabControl 
     ItemsSource="{Binding Items}"> 
       <TabControl.ItemTemplate> 
        <DataTemplate> 
         <DockPanel> 
          <TextBlock Text="{Binding TabName}"><TextBlock.Background><SolidColorBrush /></TextBlock.Background></TextBlock> 
          <Button Name="btnDelete" DockPanel.Dock="Right" Margin="5,0,0,0" Padding="0" CommandParameter="{Binding RelativeSource={RelativeSource AncestorType={x:Type TabItem}}, Path=Name}" BorderBrush="#00000000"> 
           <Image Source="/WPF_AccApp;component/Images/11.gif" Height="11" Width="11"></Image> 
          </Button> 
          <DockPanel.Background> 
           <SolidColorBrush /> 
          </DockPanel.Background> 
         </DockPanel> 
        </DataTemplate> 
       </TabControl.ItemTemplate> 
       <TabControl.ContentTemplate> 
        <DataTemplate> 
         <views:TabItemView /> 
        </DataTemplate> 
       </TabControl.ContentTemplate> 
      </TabControl> 

événement click Button

 private void AddInvoice_Click(object sender, RoutedEventArgs e) 
    { 
     count++; 

     string s = string.Format("Tab {0}", count); 
     mainViewModel.Items.Add(new ItemViewModel(s)); 
     this.DataContext = mainViewModel; 
     if (count == 1) 
     { 
      //this is as work around 
      // mainViewModel.Items.Add(new ItemViewModel(s)); 
      // mainViewModel.Items.RemoveAt(1); 
     } 

    } 

Répondre