0
我在TabControl
中虛擬化視圖時遇到各種問題。幸運的是,我發現了一些我認爲可以解決this CodeProject article中的所有問題。以編程方式爲HeaderTemplate指定綁定
雖然這個解決方案引入了一個問題,那就是它銷燬我的HeaderTemplate
。標籤標題與內容控件具有相同的內容。
我認爲使用一個TabControl這樣的:
<TabControl
behaviors:TabItemGeneratorBehavior.ItemsSource="{Binding MyItems, Mode=OneWay}"
behaviors:TabItemGeneratorBehavior.SelectedItem="{Binding MySelectedItem, Mode=TwoWay}">
<TabControl.Resources>
<Style TargetType="TabItem">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<ContentPresenter>
<ContentPresenter.Content>
<TextBlock Text="{Binding Title}"/>
</ContentPresenter.Content>
</ContentPresenter>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
</TabControl>
的behaviors:TabItemGeneratorBehavior
從CodeProject上的文章。該TabItemGeneratorBehavior
裏面是產生TabItems
的方法:
private void AddTabItem(object item)
{
var contentControl = new ContentControl();
var tab = new TabItem
{
DataContext = item,
Content = contentControl,
HeaderTemplate = _tabControl.ItemTemplate
};
contentControl.SetBinding(ContentControl.ContentProperty, new Binding());
tab.SetBinding(HeaderedContentControl.HeaderProperty, new Binding());
_tabControl.Items.Add(tab);
}
我想我的問題是,設置了HeaderProperty
裝訂線。如何設置綁定,以便它使用上面我的XAML中定義的HeaderTemplate
?