qamp/Qrakhen.TilingFrames/Themes/Controls/Host.xaml

129 lines
6.2 KiB
XML

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:CopaData.FileInspector.GUI.TilingPanels.Converters"
xmlns:local="clr-namespace:CopaData.FileInspector.GUI.TilingPanels.Controls"
xmlns:models="clr-namespace:CopaData.FileInspector.GUI.TilingPanels.Models"
xmlns:dnd="clr-namespace:CopaData.FileInspector.GUI.TilingPanels.Controls.DragAndDrop"
xmlns:droparea="clr-namespace:CopaData.FileInspector.GUI.TilingPanels.Controls.DropArea">
<Style TargetType="{x:Type local:TilingHostControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:TilingHostControl}">
<Border Padding="0"
CornerRadius="4"
BorderBrush="{DynamicResource Brush_Border_Primary}"
BorderThickness="1"
dnd:DragAndDropControl.Handler="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}}"
dnd:DragAndDropControl.IsDropZone="True">
<TabControl ItemsSource="{Binding Frames}"
SelectedItem="{Binding ActiveFrame, Mode=TwoWay}">
<TabControl.ItemTemplate>
<DataTemplate>
<Grid Background="Transparent"
dnd:DragAndDropControl.Handler="{Binding RelativeSource={
RelativeSource Mode=FindAncestor,
AncestorType={x:Type dnd:DragAndDropControl}}}"
dnd:DragAndDropControl.IsDraggable="True">
<TextBlock Text="{Binding HeaderText}" />
</Grid>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding}" />
</DataTemplate>
</TabControl.ContentTemplate>
<TabControl.Style>
<Style TargetType="TabControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabControl">
<Border CornerRadius="4">
<Grid KeyboardNavigation.TabNavigation="Local"
Background="{DynamicResource Brush_Background_Primary}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border CornerRadius="4"
Background="{DynamicResource Brush_Background_Secondary}">
<TabPanel Grid.Row="0"
IsItemsHost="True"
KeyboardNavigation.TabIndex="1"
Margin="0,0,0,-1" />
</Border>
<Border x:Name="ActiveContent"
Grid.Row="1"
BorderThickness="0"
AllowDrop="True"
Padding="4"
BorderBrush="{DynamicResource Brush_Border_Primary}"
Background="Transparent">
<Grid>
<ContentPresenter ContentSource="SelectedContent"
KeyboardNavigation.TabNavigation="Cycle"
KeyboardNavigation.DirectionalNavigation="Contained" />
<droparea:DropArea />
</Grid>
</Border>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Style>
</TabControl>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<DataTemplate DataType="{x:Type models:TilingHost}">
<local:TilingHostControl />
</DataTemplate>
<Style TargetType="TabItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Border x:Name="TemplateBorder"
Background="Transparent"
BorderBrush="Transparent"
Cursor="Hand"
Margin="0"
Padding="8,4"
MinWidth="48"
CornerRadius="4"
BorderThickness="1">
<ContentPresenter x:Name="ContentSite"
ContentSource="Header"
VerticalAlignment="Center"
HorizontalAlignment="Center"
RecognizesAccessKey="True" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="ContentSite" Property="TextElement.Foreground" Value="{DynamicResource Brush_Text_Primary}" />
<Setter TargetName="TemplateBorder" Property="BorderBrush" Value="{DynamicResource Brush_Accent_Primary}" />
<Setter TargetName="TemplateBorder" Property="Background" Value="Transparent" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="TemplateBorder" Property="Background" Value="{DynamicResource Brush_Background_Primary_Tint}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="{DynamicResource Brush_Text_Grey}" />
</Style>
</ResourceDictionary>