Я добавляю 5 представлений XAML (т.е. UserControls) в WPF управления вкладками.Соответствующие элементы вкладки для каждого UserControl
отображены как ожидалось.Но мне интересно, как установить заголовок для этих вкладокТам в любом случае? Примечание : я не хочу добавлять элементы вкладки непосредственно в TabControl
.
Мой UserControl:
public class TimeConsumingView : UserControl
{
public string Header
{
get { return (string)GetValue(HeaderProperty); }
set { SetValue(HeaderProperty, value); }
}
// Using a DependencyProperty as the backing store for Header.
// This enables animation, styling, binding, etc...
public static readonly DependencyProperty HeaderProperty =
DependencyProperty.Register(
"Header",
typeof(string),
typeof(TimeConsumingView),
new UIPropertyMetadata(
"",
new PropertyChangedCallback(OnHeaderChanged)));
}
Моя оболочка:
<TabControl x:Name="TabControl">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Header}" x:Name="grid" />
</DataTemplate>
</TabControl.ItemTemplate>
<!--<local:GeneralView Header="General"/>-->
<local:TimeConsumingView Header="2006 - 2007"/>
<local:TimeConsumingView Header="2007 - 2008"/>
</TabControl>
В этом случае заголовок не привязан к TextBlock
.Когда видно из Snoop, DataContext
не может пройти после ContentPresenter
из TabItem
заголовка.