aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/FSE/Tango.FSE.Common/Controls/FSETabControl.xaml
blob: 73aa05931c9768c1067b1b6814ad5418ce94b1ce (plain)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
                    xmlns:local="clr-namespace:Tango.FSE.Common.Controls">

    <Style TargetType="{x:Type local:FSETabControl}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:FSETabControl}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">

                        <DockPanel>
                            <Grid DockPanel.Dock="Top" Height="50">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="1*" />
                                    <ColumnDefinition Width="Auto" />
                                    <ColumnDefinition Width="1*" />
                                </Grid.ColumnDefinitions>
                                <Rectangle Grid.Column="0" VerticalAlignment="Bottom" StrokeThickness="2" Stroke="{StaticResource FSE_PrimaryAccentDarkBrush}" />
                                <ListBox x:Name="listTabs" Grid.Column="1"  DisplayMemberPath="Tag" ItemsSource="{Binding ElementName=navigation,Path=Elements}" SelectedItem="{Binding ElementName=navigation,Path=SelectedElement,Mode=TwoWay}" SelectedIndex="0" Width="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=TabsWidth}">
                                    <ListBox.Style>
                                        <Style TargetType="ListBox" BasedOn="{StaticResource {x:Type ListBox}}">
                                            <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"></Setter>
                                            <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Disabled"></Setter>
                                            <Setter Property="ItemsPanel">
                                                <Setter.Value>
                                                    <ItemsPanelTemplate>
                                                        <UniformGrid Margin="15 0 0 0" Columns="{Binding RelativeSource={RelativeSource AncestorType=ListBox},Path=Items.Count}" IsItemsHost="True"></UniformGrid>
                                                    </ItemsPanelTemplate>
                                                </Setter.Value>
                                            </Setter>
                                            <Setter Property="ItemContainerStyle">
                                                <Setter.Value>
                                                    <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                                        <Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
                                                        <Setter Property="VerticalContentAlignment" Value="Center"></Setter>
                                                        <Setter Property="Background" Value="{StaticResource FSE_PrimaryBackgroundBrush}"></Setter>
                                                        <Setter Property="FocusVisualStyle" Value="{x:Null}"></Setter>
                                                        <Setter Property="Foreground" Value="{StaticResource FSE_GrayBrush}"></Setter>
                                                        <Setter Property="Template">
                                                            <Setter.Value>
                                                                <ControlTemplate TargetType="ListBoxItem">
                                                                    <Grid x:Name="grid" Margin="-15 0 0 0" Background="Transparent">
                                                                        <Viewbox Stretch="Fill">
                                                                            <Grid>
                                                                                <Polygon Fill="{TemplateBinding Background}" Stretch="Fill" Points="0,30 15,0 85,0 100,30"></Polygon>
                                                                                <Polygon Fill="White" Stretch="Fill" Points="0,30 15,0 85,0 100,30" IsHitTestVisible="False" Opacity="0.1">
                                                                                    <Polygon.Style>
                                                                                        <Style TargetType="Polygon">
                                                                                            <Setter Property="Visibility" Value="Hidden"></Setter>
                                                                                            <Style.Triggers>
                                                                                                <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsMouseOver}" Value="True">
                                                                                                    <Setter Property="Visibility" Value="Visible"></Setter>
                                                                                                </DataTrigger>
                                                                                            </Style.Triggers>
                                                                                        </Style>
                                                                                    </Polygon.Style>
                                                                                </Polygon>
                                                                                <Polyline Stroke="{StaticResource FSE_PrimaryAccentDarkBrush}" StrokeThickness="1" Stretch="Fill" Points="0,30 15,0 85,0 100,30" />
                                                                                <Rectangle VerticalAlignment="Bottom" Stroke="{StaticResource FSE_PrimaryAccentDarkBrush}" StrokeThickness="1" />
                                                                            </Grid>
                                                                        </Viewbox>
                                                                        <ContentPresenter Content="{Binding Tag}" TextElement.Foreground="{TemplateBinding Foreground}" HorizontalAlignment="Center" VerticalAlignment="Center" />
                                                                    </Grid>
                                                                    <ControlTemplate.Triggers>
                                                                        <Trigger Property="IsSelected" Value="True">

                                                                        </Trigger>
                                                                    </ControlTemplate.Triggers>
                                                                </ControlTemplate>
                                                            </Setter.Value>
                                                        </Setter>
                                                        <Style.Triggers>
                                                            <Trigger Property="IsSelected" Value="True">
                                                                <Setter Property="Background" Value="{StaticResource FSE_PrimaryAccentDarkBrush}"></Setter>
                                                                <Setter Property="Foreground" Value="{StaticResource FSE_PrimaryForegroundBrush}"></Setter>
                                                                <Setter Property="FontWeight" Value="SemiBold"></Setter>
                                                                <Setter Property="Panel.ZIndex" Value="200"></Setter>
                                                            </Trigger>
                                                            <Trigger Property="IsSelected" Value="False">
                                                                <Setter Property="Panel.ZIndex" Value="-1"></Setter>
                                                            </Trigger>
                                                        </Style.Triggers>
                                                    </Style>
                                                </Setter.Value>
                                            </Setter>
                                        </Style>
                                    </ListBox.Style>
                                </ListBox>
                                <Rectangle Grid.Column="2" VerticalAlignment="Bottom" StrokeThickness="2" Stroke="{StaticResource FSE_PrimaryAccentDarkBrush}" />
                            </Grid>

                            <Border Margin="0 -2 0 0" Padding="10">
                                <controls:NavigationControl x:Name="navigation" SelectedObject="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=SelectedObject,Mode=TwoWay}" TransitionAlwaysFades="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=TransitionAlwaysFades}" TransitionType="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=TransitionType}" TransitionDuration="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=TransitionDuration}"/>
                            </Border>
                        </DockPanel>

                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    
</ResourceDictionary>