2011-06-12 75 views
1

我有ControlTemplate(XAML)。 我需要在代码behid中添加ControlTemplate到TabItem.Content。如何将ControlTemplate添加到内容?

var tabItem = new TabItem 
     { 
     DataContext = listDesk, 
     Header = headerText, 
     Content = ??? 

     }; 

XAML

<ControlTemplate x:Key="MyTabItemContentTemplate" TargetType="controls:TabItem"> 
    <StackPanel> 
     <TextBlock Text="wwwwww"/> 
    </StackPanel> 
</ControlTemplate> 

我用SL4

回答

3

我想你混淆的概念。而不是设置Content,其是数据的,设置Template,这是控制的可视化表示:

var tabItem = new TabItem 
     { 
     DataContext = listDesk, 
     Header = headerText, 
     Template = this.FindResource("MyTabitemContentTemplate") as ControlTemplate 

     }; 

此外,机会是没有理由在代码来做到这一点。你可以完全使用XAML。

+0

不,TabItem没有ContentTempalte属性 – Mediator 2011-06-12 09:19:03

+0

@denis:这是一个错字,现在已修复。 – 2011-06-12 09:58:12