Ik ben bezig een aangepaste TabControl te maken in WPF. Ik heb aan de onderkant van een tab een kleine dropshadow, wat ik realiseer met een aparte Border in het TabItem. Ik wil dat de geselecteerde tab deze schaduw niet heeft, maar ik weet niet hoe ik dat doen.
Google geeft een hoop voorbeelden om een dropshadow te maken, maar niet hoe dat met een trigger aan te passen. Feitelijk wil ik een eigenschap (visibility) aanpassen van een child element van de TabItem, maar ik weet niet hoe ik die moet benaderen.
Relevante code:
Google geeft een hoop voorbeelden om een dropshadow te maken, maar niet hoe dat met een trigger aan te passen. Feitelijk wil ik een eigenschap (visibility) aanpassen van een child element van de TabItem, maar ik weet niet hoe ik die moet benaderen.
Relevante code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| <Style x:Key="{x:Type TabItem}" TargetType="{x:Type TabItem}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="TabItem"> <Grid x:Name="grd"> <Path Name="TabPath" Margin="0" VerticalAlignment="Top" Stretch="Fill" Data="M39,96 C48.75,96 59.25,0 76,0 92.75,0 247,0 258,0 269,0 285.5,95.75 295,96" Fill="#e6e6e6" /> <Border ClipToBounds="True"> <Border Background="Transparent" BorderBrush="Black" BorderThickness="0,0,0,10" Margin="0,0,0,-10"> <Border.Effect> <DropShadowEffect ShadowDepth="0" BlurRadius="10" /> </Border.Effect> </Border> </Border> <ContentPresenter x:Name="TabItemContent" ContentSource="Header" Margin="25,0,0,0" VerticalAlignment="Center" TextElement.Foreground="#FF000000"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="Selector.IsSelected" Value="True"> <Setter Property="Fill" TargetName="TabPath" Value="White" /> Kan ik op dit punt met een <setter> de Visibility van de Border op Hidden zetten? </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> |