2010-07-09 47 views
0

我的场景:在运行时版本控制中更改布局(模板)

我在我的表单中有一个tabControl。 我已经将TabItem控件扩展到了一些我想添加TabControl的类。

我需要每个ExtendedTabItem都有一个特定的标题和数据模板。

中的东西的行:

<DataTemplate DataType="ExtendedTabItem"> 
    <StackPanel Height="100" Width="90"> 
     <TextBlock Text="{Binding Path=Referencia}" FontSize="13" 
     HorizontalAlignment="Center" Margin="0,0,0,1" /> 
     <TextBlock Text="{Binding Path=Estado}" FontSize="9" 
     HorizontalAlignment="Center" Margin="0,0,0,1" /> 
    </StackPanel> 
</DataTemplate> 

然后我可以简单地


Class ExtendedTabItem : TabItem { 
    // bla bla bla 
} 

Action() 
{ 
    ExtendedTabItem A = new ExtendedTabItem(); 
    A.Header = SelectedItem.Referencia; 
    tabControl1.Items.Add(A); 
} 

这是可行的?我所有的搜索似乎都指向了使用DatTemplateSelector,但它看起来并不是我所需要的。

回答

0

我能够通过在运行时定义模板来解决问题。

<DataTemplate x:Key="t1" DataType="l:CloseableTabItem"> 

A.ContentTemplate = this.FindResource("t1") as DataTemplate; 

我'仍然会更喜欢不需要的解决方案。