J'utilise un TabControl pour héberger des espaces de travail, avec la méthode décrite dans l'article This amazing par John Smith. Je me demandais s'il y avait un moyen d'ajouter du contenu, comme une image, au contrôle onglet quand il n'a pas d'onglets. Tri d'un comportement par défaut ou vide. Je voudrais avoir le logo de l'application, ou peut-être quelques flèches utiles a-la première utilisation de Chrome onglet.WPF Contenu TabControl vide
Modifier: Cela peut être un peu plus compliqué. J'ai essayé la solution de Chad ci-dessous sur un tabcontrol standard à l'affichage. Cependant, le contrôle de tabulation que j'utilise pour les espaces de travail est rendu par un contrôle de contenu à l'aide d'un datatemplate, et je n'ai pas réussi à faire fonctionner sa solution. La solution de HB a fonctionné avec quelques changements.
<DataTemplate x:Key="WorkspacesTemplate">
<Grid>
<Image Name="image1" Stretch="Uniform" Source="/Affinity;component/Images/affinity_logo.png" Margin="20"/>
<TabControl IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding}"
ItemTemplate="{StaticResource ClosableTabItemTemplate}" Margin="4">
<TabControl.Style>
<Style TargetType="TabControl">
<Style.Triggers>
<DataTrigger Binding="{Binding Items.Count, RelativeSource={RelativeSource Self}}"
Value="0">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</TabControl.Style>
<TabControl.Template>
<ControlTemplate TargetType="TabControl">
<Grid Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden" >
<StackPanel x:Name="HeaderPanel"
Orientation="Horizontal"
Panel.ZIndex ="1"
KeyboardNavigation.TabIndex="1"
Grid.Column="0"
Grid.Row="0"
Margin="2,2,2,0"
IsItemsHost="true"/>
</ScrollViewer>
<ContentPresenter x:Name="PART_SelectedContentHost" Grid.Row="1"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
Margin="{TemplateBinding Padding}"
ContentSource="SelectedContent"/>
</Grid>
</ControlTemplate>
</TabControl.Template>
</TabControl>
</Grid>
</DataTemplate>
Cela semble très prometteur, j'ai ajouté du code à ma question pour montrer comment mon contrôle de contenu est lié à la collection des espaces de travail. J'essaie de les faire travailler tous les deux en ce moment. – Tyrsius
Votre première solution a fini par fonctionner avec quelques réglages. – Tyrsius