2010-07-09 77 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; 

我'仍然會更喜歡不需要的解決方案。