Hi,
eine Frage zum TabControl.
Ich weis, das ich den Default Style überschreiben kann, klappt nur irgendwie nicht wenn im TabControl ein ItemTemplate benutz wird, jedenfalls stelle ich keine Änderungen fest.
Nun Gut, ich möchte eigentlich auch nur folgendes.
Wenn eine neue Page hinzukommt, dann soll der weiße Rand um mein TabItem verschwinden. (siehe Screen).
Ich bekomms einfach nicht hin.
Das Bildle:
der Style:
und das Tab Control:
Vielleicht hat jemand ne Idee, wie ich das hinbekomme.
Danke Euch
eine Frage zum TabControl.
Ich weis, das ich den Default Style überschreiben kann, klappt nur irgendwie nicht wenn im TabControl ein ItemTemplate benutz wird, jedenfalls stelle ich keine Änderungen fest.
Nun Gut, ich möchte eigentlich auch nur folgendes.
Wenn eine neue Page hinzukommt, dann soll der weiße Rand um mein TabItem verschwinden. (siehe Screen).
Ich bekomms einfach nicht hin.
Das Bildle:
der Style:
XML-Quellcode
- <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:local="clr-namespace:de.mhoapps.SnippsCode.View">
- <SolidColorBrush x:Key="TabItem.Selected.Background" Color="{StaticResource DefaultMain}"/>
- <SolidColorBrush x:Key="TabItem.Selected.Border" Color="{StaticResource DefaultLight}"/>
- <Style x:Key="TabStyle" TargetType="{x:Type TabControl}">
- <Setter Property="Padding" Value="2"/>
- <Setter Property="HorizontalContentAlignment" Value="Center"/>
- <Setter Property="VerticalContentAlignment" Value="Center"/>
- <Setter Property="Background" Value="{StaticResource TabItem.Selected.Background}"/>
- <Setter Property="BorderBrush" Value="{StaticResource TabItem.Selected.Border}"/>
- <Setter Property="BorderThickness" Value="0"/>
- <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type TabControl}">
- <Grid x:Name="templateRoot" ClipToBounds="true" SnapsToDevicePixels="true" KeyboardNavigation.TabNavigation="Local">
- <Grid.ColumnDefinitions>
- <ColumnDefinition x:Name="ColumnDefinition0"/>
- <ColumnDefinition x:Name="ColumnDefinition1" Width="0"/>
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition x:Name="RowDefinition0" Height="Auto"/>
- <RowDefinition x:Name="RowDefinition1" Height="*"/>
- </Grid.RowDefinitions>
- <TabPanel x:Name="headerPanel" Background="Transparent" Grid.Column="0" IsItemsHost="true" Margin="2,2,2,0" Grid.Row="0" KeyboardNavigation.TabIndex="1" Panel.ZIndex="1"/>
- <Border x:Name="contentPanel" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.Column="0" KeyboardNavigation.DirectionalNavigation="Contained" Grid.Row="1" KeyboardNavigation.TabIndex="2" KeyboardNavigation.TabNavigation="Local">
- <ContentPresenter x:Name="PART_SelectedContentHost" ContentSource="SelectedContent" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
- </Border>
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="TabStripPlacement" Value="Bottom">
- <Setter Property="Grid.Row" TargetName="headerPanel" Value="1"/>
- <Setter Property="Grid.Row" TargetName="contentPanel" Value="0"/>
- <Setter Property="Height" TargetName="RowDefinition0" Value="*"/>
- <Setter Property="Height" TargetName="RowDefinition1" Value="Auto"/>
- <Setter Property="Margin" TargetName="headerPanel" Value="2,0,2,2"/>
- </Trigger>
- <Trigger Property="TabStripPlacement" Value="Left">
- <Setter Property="Grid.Row" TargetName="headerPanel" Value="0"/>
- <Setter Property="Grid.Row" TargetName="contentPanel" Value="0"/>
- <Setter Property="Grid.Column" TargetName="headerPanel" Value="0"/>
- <Setter Property="Grid.Column" TargetName="contentPanel" Value="1"/>
- <Setter Property="Width" TargetName="ColumnDefinition0" Value="Auto"/>
- <Setter Property="Width" TargetName="ColumnDefinition1" Value="*"/>
- <Setter Property="Height" TargetName="RowDefinition0" Value="*"/>
- <Setter Property="Height" TargetName="RowDefinition1" Value="0"/>
- <Setter Property="Margin" TargetName="headerPanel" Value="2,2,0,2"/>
- </Trigger>
- <Trigger Property="TabStripPlacement" Value="Right">
- <Setter Property="Grid.Row" TargetName="headerPanel" Value="0"/>
- <Setter Property="Grid.Row" TargetName="contentPanel" Value="0"/>
- <Setter Property="Grid.Column" TargetName="headerPanel" Value="1"/>
- <Setter Property="Grid.Column" TargetName="contentPanel" Value="0"/>
- <Setter Property="Width" TargetName="ColumnDefinition0" Value="*"/>
- <Setter Property="Width" TargetName="ColumnDefinition1" Value="Auto"/>
- <Setter Property="Height" TargetName="RowDefinition0" Value="*"/>
- <Setter Property="Height" TargetName="RowDefinition1" Value="0"/>
- <Setter Property="Margin" TargetName="headerPanel" Value="0,2,2,2"/>
- </Trigger>
- <Trigger Property="IsEnabled" Value="false">
- <Setter Property="TextElement.Foreground" TargetName="templateRoot" Value="{DynamicResource {x:Static SystemColors.GradientActiveCaptionBrush}}"/>
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </ResourceDictionary>
und das Tab Control:
XML-Quellcode
- <!-- #region Editor Tab Control-->
- <Border Grid.Column="1" Background="{StaticResource BackgroundLightBrush}" BorderThickness="0.3" BorderBrush="{StaticResource BackgroundLightBrush}" CornerRadius="0 5 5 0" Margin="0 5 5 0" >
- <Grid >
- <TabControl ItemsSource="{Binding TabPages}"
- SelectedItem="{Binding SelectedTab, Mode=TwoWay}"
- Background="Transparent"
- BorderThickness="0" Style="{StaticResource TabStyle}" >
- <TabControl.ItemTemplate>
- <DataTemplate>
- <Border BorderBrush="{StaticResource BackgroundDefaultBrush}" BorderThickness="0.3" CornerRadius="3">
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="{Binding Header}"
- VerticalAlignment="Center"
- HorizontalAlignment="Center"
- FontSize="{StaticResource FontSizeSmall}"
- Foreground="{StaticResource CharDarkBlueBrush}"
- Margin="5" />
- <Button Style="{StaticResource HeaderIconButton}"
- Height="20" Content="{StaticResource WindowCloseIcon }"
- Command="{Binding DataContext.CloseTabCommand, ElementName=mainUc }" CommandParameter="{Binding}"/>
- </StackPanel>
- </Border>
- </DataTemplate>
- </TabControl.ItemTemplate>
- <TabControl.ContentTemplate>
- <DataTemplate>
- <local:ucEditor DataContext="{Binding Editor}"/>
- </DataTemplate>
- </TabControl.ContentTemplate>
- </TabControl>
- </Grid>
- </Border>
- <!-- #endregion -->
Vielleicht hat jemand ne Idee, wie ich das hinbekomme.
Danke Euch
"Hier könnte Ihre Werbung stehen..."