2016-07-27 56 views
0

我已经在WPF中添加1个标签,标签控制在设计时间。现在我想添加额外的标签使用MVVM模式如何动态地添加标签控件在WPF MVVM当一个或多个标签设计

到TabControl的已经存在

下面是我的代码和我试过的。

<TabControl ItemsSource="{Binding ContainerTabItems, Mode=TwoWay}" SelectedIndex="{Binding WizardModel.TabIndexValue, Mode=TwoWay}" x:Name="tabControl1"> 
     <TabControl.Items>  
     <TabItem Header="Page Configuration"> 
       <Button Content="Search" x:Name="btnSearch" Command="{Binding SearchClick}" /> 
       </Grid> 
     </TabItem> 

     </TabControl.Items> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <TabItem Header="{Binding Header}"> 
        <TabItem.Content> 
         <ContentControl Content="{Binding UcContainer}"></ContentControl> 
        </TabItem.Content> 
       </TabItem> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 

    </TabControl> 

当我点击btnSearch按钮我要添加新的选项卡使用MVVM

void SearchClickCommand_Execute(object parameter) 
{ 
    ContainerTabItems.Add(new ContainerTab() 
      { 
        Header="Search", 
        UcContainer=new SearchGrid(newSearchContainer()) 
      }); 
} 

回答

0

看看this answer到TabControl的。您基本上创建一个视图模型集合,每个选项卡一个,并将其绑定到TabControlItemSource属性。

+0

我可以使用数据模板创建带有空选项卡控件的动态选项卡,但是我希望在设计时使用mvvm将新选项卡添加到带有选项卡的选项卡控件,我希望需求清晰 –

+0

只需简单地将itemsource设置为已经在设计时间和动态创建动态的 – Sievajet