<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:local="clr-namespace:FModel"
                    xmlns:system="clr-namespace:System;assembly=mscorlib"
                    xmlns:controls="clr-namespace:FModel.Views.Resources.Controls"
                    xmlns:soundOut="clr-namespace:CSCore.SoundOut;assembly=CSCore"
                    xmlns:audioControls="clr-namespace:FModel.Views.Resources.Controls.Aup"
                    xmlns:converters="clr-namespace:FModel.Views.Resources.Converters"
                    xmlns:settings="clr-namespace:FModel.Settings"
                    xmlns:avalonedit="http://icsharpcode.net/sharpdevelop/avalonedit"
                    xmlns:folding="clr-namespace:ICSharpCode.AvalonEdit.Folding;assembly=ICSharpCode.AvalonEdit"
                    xmlns:adonisUi="clr-namespace:AdonisUI;assembly=AdonisUI"
                    xmlns:adonisConverters="clr-namespace:AdonisUI.Converters;assembly=AdonisUI"
                    xmlns:adonisExtensions="clr-namespace:AdonisUI.Extensions;assembly=AdonisUI"
                    xmlns:adonisControls="clr-namespace:AdonisUI.Controls;assembly=AdonisUI">
    <Style x:Key="TabItemFillSpace" TargetType="TabItem" BasedOn="{StaticResource {x:Type TabItem}}">
        <Setter Property="Width">
            <Setter.Value>
                <MultiBinding Converter="{x:Static converters:TabSizeConverter.Instance}">
                    <Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}" />
                    <Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}" Path="ActualWidth" />
                </MultiBinding>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="HighlightedCheckBox" TargetType="CheckBox" BasedOn="{StaticResource {x:Type CheckBox}}">
        <Setter Property="BorderThickness" Value="1" />
        <Setter Property="BorderBrush" Value="White" />
        <Style.Triggers>
            <EventTrigger RoutedEvent="CheckBox.Loaded">
                <BeginStoryboard>
                    <Storyboard>
                        <ColorAnimation From="YellowGreen"
                                        To="Goldenrod"
                                        Storyboard.TargetProperty="BorderBrush.Color"
                                        AutoReverse="True"
                                        RepeatBehavior="Forever"
                                        Duration="0:0:1" />
                        <ThicknessAnimation From="0"
                                            To="2"
                                            Storyboard.TargetProperty="BorderThickness"
                                            AutoReverse="True"
                                            RepeatBehavior="Forever"
                                            Duration="0:0:1" />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Style.Triggers>
    </Style>

    <Style x:Key="CustomSeparator" TargetType="Separator" BasedOn="{StaticResource {x:Type Separator}}">
        <Setter Property="Background" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1BorderBrush}}"/>
        <Setter Property="Foreground" Value="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}"/>
        <Setter Property="Margin" Value="0 8" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Separator}">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>

                        <Separator Grid.Column="0" VerticalAlignment="Center" Margin="0"
                                   Background="{TemplateBinding Background}"
                                   Foreground="{TemplateBinding Foreground}"/>
                        <TextBlock x:Name="TagTextBlock" Grid.Column="1" VerticalAlignment="Center" Text="{TemplateBinding Tag}"
                                   FontWeight="SemiBold" FontSize="11" Margin="10 0" />
                        <Separator Grid.Column="2" VerticalAlignment="Center" Margin="0"
                                   Background="{TemplateBinding Background}"
                                   Foreground="{TemplateBinding Foreground}"/>
                    </Grid>

                    <ControlTemplate.Triggers>
                        <Trigger Property="Text" SourceName="TagTextBlock" Value="">
                            <Setter Property="Margin" TargetName="TagTextBlock" Value="0" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="CustomVerticalSeparator" TargetType="{x:Type Separator}" BasedOn="{StaticResource CustomSeparator}">
        <Setter Property="Margin" Value="8 0"/>
        <Setter Property="LayoutTransform">
            <Setter.Value>
                <TransformGroup>
                    <TransformGroup.Children>
                        <TransformCollection>
                            <RotateTransform Angle="90"/>
                        </TransformCollection>
                    </TransformGroup.Children>
                </TransformGroup>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="DirectoryFilesListBox" TargetType="ListBox" BasedOn="{StaticResource {x:Type ListBox}}">
        <Setter Property="ItemsSource" Value="{Binding CUE4Parse.GameDirectory.DirectoryFilesView, IsAsync=True}" />
        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" />
        <Setter Property="ScrollViewer.CanContentScroll" Value="True" />
        <Setter Property="VirtualizingPanel.IsVirtualizing" Value="True" />
        <Setter Property="VirtualizingPanel.VirtualizationMode" Value="Recycling" />
        <Setter Property="VirtualizingPanel.ScrollUnit" Value="Pixel" />
        <Setter Property="adonisExtensions:ScrollViewerExtension.VerticalScrollBarExpansionMode" Value="NeverExpand" />
        <Setter Property="adonisExtensions:ScrollViewerExtension.VerticalScrollBarPlacement" Value="Docked" />
        <Setter Property="ItemContainerStyle">
            <Setter.Value>
                <Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    <Setter Property="IsEnabled" Value="{Binding IsEnabled}" />
                </Style>
            </Setter.Value>
        </Setter>
        <Setter Property="ItemTemplate">
            <Setter.Value>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="110" />
                            <ColumnDefinition Width="75" />
                        </Grid.ColumnDefinitions>

                        <Image x:Name="ListImage" Source="/FModel;component/Resources/archive.png"
                               Width="16" Height="16" HorizontalAlignment="Center" Margin="0 0 4 0"
                               RenderOptions.BitmapScalingMode="HighQuality" />
                        <TextBlock Grid.Column="1" HorizontalAlignment="Left" Text="{Binding Name}" TextTrimming="CharacterEllipsis" />
                        <TextBlock Grid.Column="2"
                                   Margin="10 0 0 0"
                                   HorizontalAlignment="Right"
                                   VerticalAlignment="Bottom"
                                   FontSize="11"
                                   Foreground="{DynamicResource {x:Static adonisUi:Brushes.DisabledForegroundBrush}}"
                                   Text="{Binding FileCount, StringFormat={}{0:N0} files}" />
                        <TextBlock x:Name="LengthText"
                                   Grid.Column="3" HorizontalAlignment="Right" Text="{Binding Length, Converter={x:Static converters:SizeToStringConverter.Instance}}"
                                   Margin="10 0 0 0" />
                    </Grid>
                    <DataTemplate.Triggers>
                        <DataTrigger Binding="{Binding IsEnabled}" Value="True">
                            <Setter TargetName="ListImage" Property="Source" Value="/FModel;component/Resources/archive_enabled.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding IsEnabled}" Value="False">
                            <Setter TargetName="ListImage" Property="Source" Value="/FModel;component/Resources/archive_disabled.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding IsLooseFilesContainer}" Value="True">
                            <Setter TargetName="LengthText" Property="Visibility" Value="Collapsed" />
                            <Setter TargetName="ListImage" Property="Source" Value="/FModel;component/Resources/asset.png" />
                        </DataTrigger>
                    </DataTemplate.Triggers>
                </DataTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Items.Count, RelativeSource={RelativeSource Self}, FallbackValue=0}" Value="0">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Grid>
                                <TextBlock Text="No archives found in the specified directory" FontWeight="SemiBold" TextAlignment="Center"
                                           Foreground="{DynamicResource {x:Static adonisUi:Brushes.ErrorBrush}}" />
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </DataTrigger>
            <DataTrigger Binding="{Binding LoadingMode, Source={x:Static settings:UserSettings.Default}}" Value="{x:Static local:ELoadingMode.Multiple}">
                <Setter Property="SelectionMode" Value="Extended" />
            </DataTrigger>
            <DataTrigger Binding="{Binding LoadingMode, Source={x:Static settings:UserSettings.Default}}" Value="{x:Static local:ELoadingMode.All}">
                <Setter Property="SelectionMode" Value="Extended" />
            </DataTrigger>
            <DataTrigger Binding="{Binding LoadingMode, Source={x:Static settings:UserSettings.Default}}" Value="{x:Static local:ELoadingMode.AllButNew}">
                <Setter Property="SelectionMode" Value="Extended" />
            </DataTrigger>
            <DataTrigger Binding="{Binding LoadingMode, Source={x:Static settings:UserSettings.Default}}" Value="{x:Static local:ELoadingMode.AllButModified}">
                <Setter Property="SelectionMode" Value="Extended" />
            </DataTrigger>
        </Style.Triggers>
    </Style>

    <Style x:Key="AudioFilesListBox" TargetType="ListBox" BasedOn="{StaticResource {x:Type ListBox}}">
        <Setter Property="ItemsSource" Value="{Binding AudioPlayer.AudioFilesView, IsAsync=True}" />
        <Setter Property="SelectedItem" Value="{Binding AudioPlayer.SelectedAudioFile}" />
        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" />
        <Setter Property="adonisExtensions:ScrollViewerExtension.VerticalScrollBarExpansionMode" Value="NeverExpand"/>
        <Setter Property="adonisExtensions:ScrollViewerExtension.VerticalScrollBarPlacement" Value="Docked"/>
        <Setter Property="ItemContainerStyle">
            <Setter.Value>
                <Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    <Setter Property="Padding" Value="5 3" />
                </Style>
            </Setter.Value>
        </Setter>
        <Setter Property="ItemTemplate">
            <Setter.Value>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="25" />
                            <ColumnDefinition Width="Auto" />
                        </Grid.ColumnDefinitions>

                        <TextBlock Grid.Column="0" HorizontalAlignment="Left" Text="{Binding FileName}" TextTrimming="CharacterEllipsis" />
                        <TextBlock Grid.Column="2" HorizontalAlignment="Right" Text="{Binding Length, Converter={x:Static converters:SizeToStringConverter.Instance}}" />
                    </Grid>
                </DataTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Items.Count, RelativeSource={RelativeSource Self}, FallbackValue=0}" Value="0">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Grid>
                                <TextBlock Text="No audio to play at the moment" FontWeight="SemiBold" TextAlignment="Center"
                                           Foreground="{DynamicResource {x:Static adonisUi:Brushes.ErrorBrush}}" />
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </DataTrigger>
        </Style.Triggers>
    </Style>

    <Style x:Key="AssetsFolderTreeView"
           TargetType="TreeView"
           BasedOn="{StaticResource {x:Type TreeView}}">
        <Setter Property="ItemsSource"
                Value="{Binding CUE4Parse.AssetsFolder.FoldersView, IsAsync=True}" />
        <Setter Property="adonisExtensions:ScrollViewerExtension.VerticalScrollBarExpansionMode"
                Value="NeverExpand" />
        <Setter Property="adonisExtensions:ScrollViewerExtension.VerticalScrollBarPlacement"
                Value="Docked" />
        <Setter Property="adonisExtensions:ScrollViewerExtension.HorizontalScrollBarExpansionMode"
                Value="NeverExpand" />
        <Setter Property="adonisExtensions:ScrollViewerExtension.HorizontalScrollBarPlacement"
                Value="Docked" />
        <Setter Property="HorizontalContentAlignment"
                Value="Stretch" />
        <Setter Property="ItemTemplate">
            <Setter.Value>
                <HierarchicalDataTemplate ItemsSource="{Binding FoldersView, IsAsync=True}">
                    <StackPanel Orientation="Horizontal">
                        <Image x:Name="TreeImage"
                               Source="/FModel;component/Resources/folder.png"
                               Width="16"
                               Height="16"
                               HorizontalAlignment="Center"
                               Margin="0 0 3.5 0" />
                        <Border x:Name="TreeBadge"
                                CornerRadius="5"
                                Height="10"
                                MinWidth="10"
                                Background="#705542"
                                Margin="-10.5 0 4.5 0"
                                VerticalAlignment="Bottom">
                            <TextBlock Text="{Binding AssetsList.Assets.Count}"
                                       Margin="2.5 0 2.5 0"
                                       Padding="1 0 0 0"
                                       FontSize="7"
                                       Foreground="White"
                                       VerticalAlignment="Center"
                                       HorizontalAlignment="Center" />
                        </Border>
                        <TextBlock Text="{Binding Header}"
                                   HorizontalAlignment="Left">
                            <TextBlock.ToolTip>
                                <ToolTip>
                                    <TextBlock>
                                        <TextBlock.Text>
                                            <MultiBinding StringFormat="{}{0} has {1} folders and {2} packages">
                                                <Binding Path="Header" />
                                                <Binding Path="FoldersView.Count" />
                                                <Binding Path="AssetsList.Assets.Count" />
                                            </MultiBinding>
                                        </TextBlock.Text>
                                    </TextBlock>
                                </ToolTip>
                            </TextBlock.ToolTip>
                        </TextBlock>
                    </StackPanel>
                    <HierarchicalDataTemplate.Triggers>
                        <DataTrigger Binding="{Binding FoldersView.Count}"
                                     Value="0">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/empty_folder.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding AssetsList.Assets.Count}"
                                     Value="0">
                            <Setter TargetName="TreeBadge"
                                    Property="Visibility"
                                    Value="Collapsed" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Config">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/gear.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Plugins">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/puzzle.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Windows">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/windows.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Android">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/android.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="IOS">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/apple.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Mac">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/apple.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Linux">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/linux.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="LinuxAArch64">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/linux.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Unix">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/unix.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Weapons">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/weapon.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Localization">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/localization.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Internationalization">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/localization.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="UI">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/ui.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Sounds">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/sound.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="2dAssets">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/texture.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Textures">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/texture.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Engine">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/engine.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="EngineContent">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/engine.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Platforms">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/pc.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Fortnite">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/fortnite.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="FortniteGame">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/fortnitebr.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="WorldExplorers">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/battlebreakers.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="OakGame">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/borderlands.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="ShooterGame">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/valorant.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="RogueCompany">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/roguecompany.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="g3">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/spellbreak.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="SwGame">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/fallenorder.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Prospect">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/thecycle.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Materials">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/materialicon.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header, Converter={x:Static converters:CaseInsensitiveStringEqualsConverter.Instance}, ConverterParameter='Blueprints'}"
                                     Value="True">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/blueprint.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Cinematics">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/cinematics.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Movies">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/cinematics.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Audio">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/sound.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Creative">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/creative.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header}"
                                     Value="Athena">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/athena.png" />
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Header, Converter={x:Static converters:CaseInsensitiveStringEqualsConverter.Instance}, ConverterParameter='StateOfDecay2'}"
                                     Value="True">
                            <Setter TargetName="TreeImage"
                                    Property="Source"
                                    Value="/FModel;component/Resources/stateofdecay2.png" />
                        </DataTrigger>
                    </HierarchicalDataTemplate.Triggers>
                </HierarchicalDataTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="ItemContainerStyle">
            <Setter.Value>
                <Style TargetType="{x:Type TreeViewItem}"
                       BasedOn="{StaticResource TreeViewItemStyle}">
                    <Setter Property="HorizontalContentAlignment"
                            Value="Stretch" />
                    <Setter Property="IsSelected"
                            Value="{Binding IsSelected, Mode=TwoWay}" />
                    <Setter Property="IsExpanded"
                            Value="{Binding IsExpanded, Mode=TwoWay}" />
                    <Setter Property="ContextMenu"
                            Value="{StaticResource FolderContextMenu}" />
                    <Setter Property="controls:TreeViewItemBehavior.IsBroughtIntoViewWhenSelected"
                            Value="True" />
                    <Setter Property="Padding"
                            Value="5 3" />
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="TreeViewItem">
                                <Grid>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="Auto" />
                                        <ColumnDefinition Width="Auto" />
                                        <ColumnDefinition Width="*" />
                                    </Grid.ColumnDefinitions>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto" />
                                        <RowDefinition />
                                    </Grid.RowDefinitions>

                                    <Border x:Name="Border"
                                            Grid.Row="0"
                                            Grid.Column="0"
                                            Grid.ColumnSpan="3"
                                            Background="{TemplateBinding Background}"
                                            BorderBrush="{TemplateBinding BorderBrush}"
                                            BorderThickness="{TemplateBinding BorderThickness}"
                                            CornerRadius="{TemplateBinding adonisExtensions:CornerRadiusExtension.CornerRadius}" />

                                    <Border x:Name="SpotlightLayer"
                                            Grid.Row="0"
                                            Grid.Column="0"
                                            Grid.ColumnSpan="3"
                                            Background="{TemplateBinding adonisExtensions:CursorSpotlightExtension.BackgroundBrush}"
                                            BorderBrush="{TemplateBinding adonisExtensions:CursorSpotlightExtension.BorderBrush}"
                                            BorderThickness="{TemplateBinding BorderThickness}"
                                            CornerRadius="{TemplateBinding adonisExtensions:CornerRadiusExtension.CornerRadius}"
                                            adonisExtensions:CursorSpotlightExtension.MouseEventSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=TreeViewItem}}"
                                            SnapsToDevicePixels="False" />

                                    <ToggleButton x:Name="Expander"
                                                  Grid.Row="0"
                                                  Grid.Column="0"
                                                  Width="12"
                                                  Height="12"
                                                  Focusable="False"
                                                  ClickMode="Press"
                                                  Foreground="{TemplateBinding Foreground}"
                                                  IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}"
                                                  ContentTemplate="{DynamicResource {x:Static adonisUi:Templates.Expander}}"
                                                  RenderTransformOrigin="0.5, 0.5">
                                        <ToggleButton.Template>
                                            <ControlTemplate TargetType="ToggleButton">
                                                <Border Background="Transparent">
                                                    <Viewbox Width="16"
                                                             Height="16"
                                                             HorizontalAlignment="Center">
                                                        <Canvas Width="24"
                                                                Height="24">
                                                            <Path Fill="{TemplateBinding Foreground}"
                                                                  Data="{StaticResource ArrowIcon}" />
                                                        </Canvas>
                                                    </Viewbox>
                                                </Border>
                                            </ControlTemplate>
                                        </ToggleButton.Template>
                                        <ToggleButton.Margin>
                                            <MultiBinding Converter="{x:Static adonisConverters:ValuesToThicknessConverter.Instance}">
                                                <Binding Path="Padding.Left"
                                                         RelativeSource="{RelativeSource TemplatedParent}" />
                                                <Binding Source="0" />
                                                <Binding Source="8" />
                                                <Binding Source="0" />
                                            </MultiBinding>
                                        </ToggleButton.Margin>
                                        <ToggleButton.RenderTransform>
                                            <RotateTransform x:Name="ExpanderRotateTransform"
                                                             Angle="-90" />
                                        </ToggleButton.RenderTransform>
                                    </ToggleButton>

                                    <ContentPresenter x:Name="PART_Header"
                                                      Grid.Row="0"
                                                      Grid.Column="1"
                                                      ContentSource="Header"
                                                      HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}">
                                        <ContentPresenter.Margin>
                                            <MultiBinding Converter="{x:Static adonisConverters:ValuesToThicknessConverter.Instance}">
                                                <Binding>
                                                    <Binding.Source>
                                                        <system:Double>-5</system:Double>
                                                    </Binding.Source>
                                                </Binding>
                                                <Binding Path="Padding.Top"
                                                         RelativeSource="{RelativeSource TemplatedParent}" />
                                                <Binding Path="Padding.Right"
                                                         RelativeSource="{RelativeSource TemplatedParent}" />
                                                <Binding Path="Padding.Bottom"
                                                         RelativeSource="{RelativeSource TemplatedParent}" />
                                            </MultiBinding>
                                        </ContentPresenter.Margin>
                                    </ContentPresenter>

                                    <ItemsPresenter x:Name="ItemsHost"
                                                    Grid.Row="1"
                                                    Grid.Column="1"
                                                    Grid.ColumnSpan="2" />
                                </Grid>
                                <ControlTemplate.Triggers>

                                    <Trigger Property="IsExpanded"
                                             Value="False">
                                        <Setter TargetName="ItemsHost"
                                                Property="Visibility"
                                                Value="Collapsed" />
                                    </Trigger>

                                    <Trigger Property="IsExpanded"
                                             Value="True">
                                        <Trigger.EnterActions>
                                            <BeginStoryboard>
                                                <Storyboard>
                                                    <DoubleAnimation Storyboard.TargetProperty="Angle"
                                                                     Storyboard.TargetName="ExpanderRotateTransform"
                                                                     Duration="00:00:0.2"
                                                                     To="-45" />
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </Trigger.EnterActions>
                                        <Trigger.ExitActions>
                                            <BeginStoryboard>
                                                <Storyboard>
                                                    <DoubleAnimation Storyboard.TargetProperty="Angle"
                                                                     Storyboard.TargetName="ExpanderRotateTransform"
                                                                     Duration="00:00:0.2"
                                                                     From="-45" />
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </Trigger.ExitActions>
                                    </Trigger>

                                    <Trigger Property="HasItems"
                                             Value="False">
                                        <Setter TargetName="Expander"
                                                Property="Visibility"
                                                Value="Hidden" />
                                    </Trigger>

                                </ControlTemplate.Triggers>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Items.Count, RelativeSource={RelativeSource Self}, FallbackValue=0}"
                         Value="0">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Grid>
                                <TextBlock Text="No folders found in archives, make sure you loaded at least one"
                                           FontWeight="SemiBold"
                                           TextAlignment="Center"
                                           Foreground="{DynamicResource {x:Static adonisUi:Brushes.ErrorBrush}}" />
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </DataTrigger>
        </Style.Triggers>
    </Style>

    <Style x:Key="GameFilesTabControl" TargetType="TabControl" BasedOn="{StaticResource {x:Type TabControl}}">
        <Setter Property="ItemsSource" Value="{Binding CUE4Parse.TabControl.TabsItems, IsAsync=True}" />
        <Setter Property="SelectedItem" Value="{Binding CUE4Parse.TabControl.SelectedTab}" />
        <Setter Property="ItemTemplate">
            <Setter.Value>
                <DataTemplate>
                    <DockPanel>
                        <DockPanel.InputBindings>
                            <MouseBinding MouseAction="LeftDoubleClick" Command="{Binding SelectedItem.TabCommand, ElementName=TabControlName}" CommandParameter="Open_Properties"/>
                            <MouseBinding MouseAction="MiddleClick" Command="{Binding SelectedItem.TabCommand, ElementName=TabControlName}" CommandParameter="{Binding}" />
                        </DockPanel.InputBindings>

                        <TextBlock DockPanel.Dock="Left" Text="{Binding Header}" TextTrimming="CharacterEllipsis" ToolTip="{Binding Text, RelativeSource={RelativeSource Self}}">
                            <TextBlock.Width>
                                <MultiBinding Converter="{x:Static converters:TabSizeConverter.Instance}" ConverterParameter="6">
                                    <Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}" />
                                    <Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}" Path="ActualWidth" />
                                </MultiBinding>
                            </TextBlock.Width>
                        </TextBlock>
                        <Button adonisExtensions:CornerRadiusExtension.CornerRadius="5" Width="11" Height="11" Margin="10 0 -2.5 -1"
                                DockPanel.Dock="Right" ToolTip="Close Tab" Command="{Binding TabCommand}" CommandParameter="Close_Tab" />
                    </DockPanel>
                </DataTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="ContentTemplate">
            <Setter.Value>
                <DataTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="{Binding AvalonImageSize, Source={x:Static settings:UserSettings.Default}, Mode=TwoWay}" />
                        </Grid.ColumnDefinitions>

                        <controls:AvalonEditor x:Name="DynamicArea" Grid.Column="0" DataContext="{Binding SelectedItem, ElementName=TabControlName}" />
                        <GridSplitter Grid.Column="1" Width="4" VerticalAlignment="Stretch" ResizeDirection="Columns" KeyboardIncrement="0"
                                      Visibility="{Binding SelectedItem.HasImage, ElementName=TabControlName, Converter={StaticResource BoolToVisibilityConverter}}"
                                      Background="{DynamicResource {x:Static adonisUi:Brushes.Layer3BackgroundBrush}}" />
                        <Border Grid.Column="2" BorderBrush="#3b3d4a" BorderThickness="1" HorizontalAlignment="Center" VerticalAlignment="Center"
                                Visibility="{Binding SelectedItem.HasImage, ElementName=TabControlName, Converter={StaticResource BoolToVisibilityConverter}}">
                            <Image VerticalAlignment="Center" HorizontalAlignment="Center" Stretch="Uniform"
                                   Visibility="{Binding SelectedItem.HasImage, ElementName=TabControlName, Converter={StaticResource BoolToVisibilityConverter}}"
                                   Source="{Binding SelectedItem.SelectedImage.Image, ElementName=TabControlName}" RenderOptions.BitmapScalingMode="{Binding SelectedItem.SelectedImage.RenderNearestNeighbor, ElementName=TabControlName, Converter={x:Static converters:BoolToRenderModeConverter.Instance}}">
                                <Image.InputBindings>
                                    <MouseBinding MouseAction="LeftDoubleClick" Command="{Binding SelectedItem.ImageCommand, ElementName=TabControlName}" CommandParameter="Open"/>
                                </Image.InputBindings>
                                <Image.ContextMenu>
                                    <ContextMenu DataContext="{Binding PlacementTarget, RelativeSource={RelativeSource Self}}">
                                        <MenuItem Header="Disable Alpha Channel" IsCheckable="True" IsChecked="{Binding DataContext.SelectedImage.NoAlpha}" />
                                        <MenuItem Header="Open Image" Command="{Binding DataContext.ImageCommand}" CommandParameter="Open">
                                            <MenuItem.Icon>
                                                <Viewbox Width="16" Height="16">
                                                    <Canvas Width="24" Height="24">
                                                        <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="M20,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V6C22,4.9,21.1,4,20,4z M20,18H4V6h16V18z" />
                                                        <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="M6,12c0.55,0,1-0.45,1-1V9h2c0.55,0,1-0.45,1-1S9.55,7,9,7H6C5.45,7,5,7.45,5,8v3C5,11.55,5.45,12,6,12z" />
                                                        <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="M15,17h3c0.55,0,1-0.45,1-1v-3c0-0.55-0.45-1-1-1s-1,0.45-1,1v2h-2c-0.55,0-1,0.45-1,1S14.45,17,15,17z" />
                                                    </Canvas>
                                                </Viewbox>
                                            </MenuItem.Icon>
                                        </MenuItem>
                                        <MenuItem Header="Copy Image" Command="{Binding DataContext.ImageCommand}" CommandParameter="Copy">
                                            <MenuItem.Icon>
                                                <Viewbox Width="16" Height="16">
                                                    <Canvas Width="24" Height="24">
                                                        <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource CopyIcon}" />
                                                    </Canvas>
                                                </Viewbox>
                                            </MenuItem.Icon>
                                        </MenuItem>
                                        <MenuItem Header="Save Image" Command="{Binding DataContext.ImageCommand}" CommandParameter="Save">
                                            <MenuItem.Icon>
                                                <Viewbox Width="16" Height="16">
                                                    <Canvas Width="24" Height="24">
                                                        <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource SaveIcon}" />
                                                    </Canvas>
                                                </Viewbox>
                                            </MenuItem.Icon>
                                        </MenuItem>
                                    </ContextMenu>
                                </Image.ContextMenu>
                            </Image>
                        </Border>
                        <StackPanel Grid.Column="2" VerticalAlignment="Bottom" HorizontalAlignment="Center">
                            <TextBlock HorizontalAlignment="Center"
                                       Text="{Binding SelectedItem.SelectedImage.ExportName, Converter={x:Static converters:FileNameWithoutExtensionConverter.Instance}, ElementName=TabControlName}"
                                       FontSize="10" FontWeight="SemiBold"
                                       Visibility="{Binding SelectedItem.HasImage, ElementName=TabControlName, Converter={StaticResource BoolToVisibilityConverter}}" />
                            <TextBlock HorizontalAlignment="Center"
                                       Visibility="{Binding SelectedItem.HasMultipleImages, ElementName=TabControlName, Converter={StaticResource BoolToVisibilityConverter}}"
                                       Text="{Binding SelectedItem.Page, ElementName=TabControlName}" />
                        </StackPanel>
                    </Grid>
                    <DataTemplate.Triggers>
                        <DataTrigger Binding="{Binding SelectedItem.HasImage, ElementName=TabControlName}" Value="False">
                            <Setter TargetName="DynamicArea" Property="Grid.ColumnSpan" Value="3" />
                        </DataTrigger>
                    </DataTemplate.Triggers>
                </DataTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TabControl}">
                    <Grid KeyboardNavigation.TabNavigation="Local">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto" />
                            <RowDefinition Height="*" />
                        </Grid.RowDefinitions>

                        <Grid x:Name="HeaderPanel" Grid.Row="0">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*" />
                                <ColumnDefinition Width="Auto" />
                            </Grid.ColumnDefinitions>

                            <WrapPanel x:Name="_HeaderPanel" Panel.ZIndex="1" IsItemsHost="True" Grid.Column="0"
                                       KeyboardNavigation.TabIndex="1" Background="Transparent" />

                            <Menu Background="{DynamicResource {x:Static adonisUi:Brushes.Layer3BackgroundBrush}}"
                                  HorizontalAlignment="Right" VerticalAlignment="Bottom" Grid.Column="1">
                                <MenuItem Command="{Binding CUE4Parse.TabControl.AddTabCommand}" ToolTip="Add New Tab" Width="30">
                                    <MenuItem.Header>
                                        <Viewbox Width="16" Height="16" HorizontalAlignment="Center">
                                            <Canvas Width="24" Height="24">
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource AddIcon}"/>
                                            </Canvas>
                                        </Viewbox>
                                    </MenuItem.Header>
                                </MenuItem>
                            </Menu>
                        </Grid>

                        <Border x:Name="Border"
                                Grid.Row="1"
                                Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                KeyboardNavigation.TabNavigation="Local"
                                KeyboardNavigation.DirectionalNavigation="Contained"
                                KeyboardNavigation.TabIndex="2">
                            <Border.CornerRadius>
                                <MultiBinding Converter="{x:Static adonisConverters:ValuesToCornerRadiusConverter.Instance}">
                                    <Binding Source="0"/>
                                    <Binding Path="(adonisExtensions:CornerRadiusExtension.CornerRadius).TopRight" RelativeSource="{RelativeSource TemplatedParent}"/>
                                    <Binding Path="(adonisExtensions:CornerRadiusExtension.CornerRadius).BottomRight" RelativeSource="{RelativeSource TemplatedParent}"/>
                                    <Binding Path="(adonisExtensions:CornerRadiusExtension.CornerRadius).BottomLeft" RelativeSource="{RelativeSource TemplatedParent}"/>
                                </MultiBinding>
                            </Border.CornerRadius>

                            <ContentPresenter x:Name="PART_SelectedContentHost"
                                              Margin="{adonisUi:Space 0, 1, 0, 0}"
                                              ContentSource="SelectedContent" />
                        </Border>

                        <Border x:Name="SelectedItemHighlight"
                                Grid.Row="1"
                                Background="{DynamicResource {x:Static adonisUi:Brushes.Layer1HighlightBrush}}"
                                Margin="{TemplateBinding BorderThickness}"
                                VerticalAlignment="Top"
                                Height="4">
                            <Border.CornerRadius>
                                <MultiBinding Converter="{x:Static adonisConverters:ValuesToCornerRadiusConverter.Instance}">
                                    <Binding Source="0"/>
                                    <Binding Path="(adonisExtensions:CornerRadiusExtension.CornerRadius).TopRight" RelativeSource="{RelativeSource TemplatedParent}"/>
                                    <Binding Source="0"/>
                                    <Binding Source="0"/>
                                </MultiBinding>
                            </Border.CornerRadius>
                        </Border>
                    </Grid>

                    <ControlTemplate.Triggers>
                        <DataTrigger Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="2">
                            <Setter Property="Background" TargetName="SelectedItemHighlight" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer2HighlightBrush}}"/>
                        </DataTrigger>

                        <DataTrigger Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="3">
                            <Setter Property="Background" TargetName="SelectedItemHighlight" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer3HighlightBrush}}"/>
                        </DataTrigger>

                        <DataTrigger Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="4">
                            <Setter Property="Background" TargetName="SelectedItemHighlight" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer4HighlightBrush}}"/>
                        </DataTrigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="ItemContainerStyle">
            <Setter.Value>
                <Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource {x:Type TabItem}}">
                    <Setter Property="ContextMenu">
                        <Setter.Value>
                            <ContextMenu>
                                <MenuItem Header="Close" Command="{Binding TabCommand}" CommandParameter="Close_Tab">
                                    <MenuItem.Icon>
                                        <Viewbox Width="16" Height="16">
                                            <Canvas Width="24" Height="24">
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource RemoveIcon}" />
                                            </Canvas>
                                        </Viewbox>
                                    </MenuItem.Icon>
                                </MenuItem>
                                <MenuItem Header="Close All Tabs" Command="{Binding TabCommand}" CommandParameter="Close_All_Tabs">
                                    <MenuItem.Icon>
                                        <Viewbox Width="16" Height="16">
                                            <Canvas Width="24" Height="24">
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource RemoveIcon}" />
                                            </Canvas>
                                        </Viewbox>
                                    </MenuItem.Icon>
                                </MenuItem>
                                <MenuItem Header="Close Other Tabs" Command="{Binding TabCommand}" CommandParameter="Close_Other_Tabs">
                                    <MenuItem.Icon>
                                        <Viewbox Width="16" Height="16">
                                            <Canvas Width="24" Height="24">
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource RemoveIcon}" />
                                            </Canvas>
                                        </Viewbox>
                                    </MenuItem.Icon>
                                </MenuItem>
                                <Separator />
                                <MenuItem Header="Show Metadata" Command="{Binding TabCommand}"  CommandParameter="Assets_Show_Metadata">
                                    <MenuItem.Icon>
                                        <Viewbox Width="16" Height="16">
                                            <Canvas Width="24" Height="24">
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource InfoIcon}" />
                                            </Canvas>
                                        </Viewbox>
                                    </MenuItem.Icon>
                                    <MenuItem.IsEnabled>
                                        <Binding Path="PlacementTarget.SelectedItems" RelativeSource="{RelativeSource AncestorType=ContextMenu}">
                                            <Binding.Converter>
                                                <converters:AnyItemMeetsConditionConverter>
                                                    <converters:AnyItemMeetsConditionConverter.Conditions>
                                                        <converters:ItemIsUePackageCondition />
                                                    </converters:AnyItemMeetsConditionConverter.Conditions>
                                                </converters:AnyItemMeetsConditionConverter>
                                            </Binding.Converter>
                                        </Binding>
                                    </MenuItem.IsEnabled>
                                </MenuItem>
                                <MenuItem Header="Find References" Command="{Binding TabCommand}"  CommandParameter="Find_References">
                                    <MenuItem.Icon>
                                        <Viewbox Width="16" Height="16">
                                            <Canvas Width="24" Height="24">
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource SearchIcon}" />
                                            </Canvas>
                                        </Viewbox>
                                    </MenuItem.Icon>
                                    <MenuItem.IsEnabled>
                                        <Binding Path="PlacementTarget.DataContext" RelativeSource="{RelativeSource AncestorType=ContextMenu}">
                                            <Binding.Converter>
                                                <converters:GameFileMeetsConditionConverter>
                                                    <converters:GameFileMeetsConditionConverter.Conditions>
                                                        <converters:GameFileIsUePackageCondition />
                                                        <converters:GameFileIsIoStoreCondition />
                                                    </converters:GameFileMeetsConditionConverter.Conditions>
                                                </converters:GameFileMeetsConditionConverter>
                                            </Binding.Converter>
                                        </Binding>
                                    </MenuItem.IsEnabled>
                                </MenuItem>
                                <MenuItem Header="Decompile Blueprint" Command="{Binding TabCommand}"  CommandParameter="Assets_Decompile">
                                    <MenuItem.Icon>
                                        <Viewbox Width="16" Height="16">
                                            <Canvas Width="24" Height="24">
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource CppIcon}" />
                                            </Canvas>
                                        </Viewbox>
                                    </MenuItem.Icon>
                                    <MenuItem.Style>
                                        <Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource {x:Type MenuItem}}">
                                            <Style.Triggers>
                                                <DataTrigger Binding="{Binding ShowDecompileOption, Source={x:Static settings:UserSettings.Default}}" Value="False">
                                                    <Setter Property="Visibility" Value="Collapsed" />
                                                </DataTrigger>
                                            </Style.Triggers>
                                        </Style>
                                    </MenuItem.Style>
                                    <MenuItem.IsEnabled>
                                        <Binding Path="PlacementTarget.SelectedItems" RelativeSource="{RelativeSource AncestorType=ContextMenu}">
                                            <Binding.Converter>
                                                <converters:AnyItemMeetsConditionConverter>
                                                    <converters:AnyItemMeetsConditionConverter.Conditions>
                                                        <converters:ItemActionCondition Action="Code" />
                                                    </converters:AnyItemMeetsConditionConverter.Conditions>
                                                </converters:AnyItemMeetsConditionConverter>
                                            </Binding.Converter>
                                        </Binding>
                                    </MenuItem.IsEnabled>
                                </MenuItem>
                                <Separator />
                                <MenuItem Header="Export">
                                    <MenuItem.Icon>
                                        <Viewbox Width="16"
                                                 Height="16">
                                            <Canvas Width="24"
                                                    Height="24">
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="M12 2l.117 .007a1 1 0 0 1 .876 .876l.007 .117v4l.005 .15a2 2 0 0 0 1.838 1.844l.157 .006h4l.117 .007a1 1 0 0 1 .876 .876l.007 .117v9a3 3 0 0 1 -2.824 2.995l-.176 .005h-10a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-14a3 3 0 0 1 2.824 -2.995l.176 -.005zm1 10l-5 5v2h2l5 -5a1.414 1.414 0 0 0 -2 -2" />
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="M19 7h-4l-.001 -4.001z" />
                                            </Canvas>
                                        </Viewbox>
                                    </MenuItem.Icon>

                                    <MenuItem Command="{Binding TabCommand}" CommandParameter="Save_Data">
                                        <MenuItem.Header>
                                            <TextBlock Text="{Binding Entry.Extension, FallbackValue='Raw Data', StringFormat='Raw Data (.{0})'}" />
                                        </MenuItem.Header>
                                        <MenuItem.Icon>
                                            <Viewbox Width="16" Height="16">
                                                <Canvas Width="24" Height="24">
                                                    <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource ExportIcon}" />
                                                </Canvas>
                                            </Viewbox>
                                        </MenuItem.Icon>
                                    </MenuItem>
                                    <MenuItem Header="Properties (.json)" Command="{Binding TabCommand}" CommandParameter="Save_Properties">
                                        <MenuItem.Icon>
                                            <Viewbox Width="16" Height="16">
                                                <Canvas Width="24" Height="24">
                                                    <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource SaveIcon}" />
                                                </Canvas>
                                            </Viewbox>
                                        </MenuItem.Icon>
                                    </MenuItem>
                                    <MenuItem Header="Texture" Command="{Binding TabCommand}" CommandParameter="Save_Textures">
                                        <MenuItem.Icon>
                                            <Viewbox Width="16" Height="16">
                                                <Canvas Width="24" Height="24">
                                                    <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource TextureIcon}" />
                                                </Canvas>
                                            </Viewbox>
                                        </MenuItem.Icon>
                                    </MenuItem>
                                    <MenuItem Header="Model" Command="{Binding TabCommand}" CommandParameter="Save_Models">
                                        <MenuItem.Icon>
                                            <Viewbox Width="16" Height="16">
                                                <Canvas Width="24" Height="24">
                                                    <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource ModelIcon}" />
                                                </Canvas>
                                            </Viewbox>
                                        </MenuItem.Icon>
                                    </MenuItem>
                                    <MenuItem Header="World" Command="{Binding TabCommand}" CommandParameter="Save_Worlds">
                                        <MenuItem.Icon>
                                            <Viewbox Width="16" Height="16">
                                                <Canvas Width="24" Height="24">
                                                    <Path StrokeThickness="2" Stroke="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource World1}" />
                                                    <Path StrokeThickness="2" Stroke="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource World2}" />
                                                    <Path StrokeThickness="2" Stroke="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource World3}" />
                                                    <Path StrokeThickness="2" Stroke="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource World4}" />
                                                    <Path StrokeThickness="2" Stroke="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource World5}" />
                                                </Canvas>
                                            </Viewbox>
                                        </MenuItem.Icon>
                                    </MenuItem>
                                    <MenuItem Header="Animation" Command="{Binding TabCommand}" CommandParameter="Save_Animations">
                                        <MenuItem.Icon>
                                            <Viewbox Width="16" Height="16">
                                                <Canvas Width="24" Height="24">
                                                    <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource AnimationIcon}" />
                                                </Canvas>
                                            </Viewbox>
                                        </MenuItem.Icon>
                                    </MenuItem>
                                    <MenuItem Header="Audio" Command="{Binding TabCommand}" CommandParameter="Save_Audio">
                                        <MenuItem.Icon>
                                            <Viewbox Width="16" Height="16">
                                                <Canvas Width="24" Height="24">
                                                    <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource AudioIcon}" />
                                                </Canvas>
                                            </Viewbox>
                                        </MenuItem.Icon>
                                    </MenuItem>
                                </MenuItem>
                                <Separator />
                                <MenuItem Header="Open Properties" Command="{Binding TabCommand}" CommandParameter="Open_Properties">
                                    <MenuItem.Icon>
                                        <Viewbox Width="16" Height="16">
                                            <Canvas Width="24" Height="24">
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="M20,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V6C22,4.9,21.1,4,20,4z M20,18H4V6h16V18z" />
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="M6,12c0.55,0,1-0.45,1-1V9h2c0.55,0,1-0.45,1-1S9.55,7,9,7H6C5.45,7,5,7.45,5,8v3C5,11.55,5.45,12,6,12z" />
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="M15,17h3c0.55,0,1-0.45,1-1v-3c0-0.55-0.45-1-1-1s-1,0.45-1,1v2h-2c-0.55,0-1,0.45-1,1S14.45,17,15,17z" />
                                            </Canvas>
                                        </Viewbox>
                                    </MenuItem.Icon>
                                </MenuItem>
                                <MenuItem Header="Jump to Package Folder" Command="{Binding GoToCommand}" CommandParameter="{Binding Entry.Directory}">
                                    <MenuItem.Icon>
                                        <Viewbox Width="16" Height="16">
                                            <Canvas Width="24" Height="24">
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="M20,6h-8l-1.41-1.41C10.21,4.21,9.7,4,9.17,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8 C22,6.9,21.1,6,20,6z M12,15.79V14H9c-0.55,0-1-0.45-1-1v0c0-0.55,0.45-1,1-1h3v-1.79c0-0.45,0.54-0.67,0.85-0.35l2.79,2.79 c0.2,0.2,0.2,0.51,0,0.71l-2.79,2.79C12.54,16.46,12,16.24,12,15.79z" />
                                            </Canvas>
                                        </Viewbox>
                                    </MenuItem.Icon>
                                </MenuItem>
                                <MenuItem Header="Copy">
                                    <MenuItem.Icon>
                                        <Viewbox Width="16" Height="16">
                                            <Canvas Width="24" Height="24">
                                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource CopyIcon}" />
                                            </Canvas>
                                        </Viewbox>
                                    </MenuItem.Icon>
                                    <MenuItem Header="Package Path" Command="{Binding TabCommand}" CommandParameter="File_Path" />
                                    <MenuItem Header="Package Name" Command="{Binding TabCommand}" CommandParameter="File_Name" />
                                    <MenuItem Header="Directory Path" Command="{Binding TabCommand}" CommandParameter="Directory_Path" />
                                    <MenuItem Header="Package Path w/o Extension" Command="{Binding TabCommand}" CommandParameter="File_Path_No_Extension" />
                                    <MenuItem Header="Package Name w/o Extension" Command="{Binding TabCommand}" CommandParameter="File_Name_No_Extension" />
                                </MenuItem>
                            </ContextMenu>
                        </Setter.Value>
                    </Setter>
                </Style>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="{x:Type MenuItem}" TargetType="{x:Type MenuItem}" BasedOn="{StaticResource {x:Type MenuItem}}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="MenuItem">
                    <Grid>
                        <Border x:Name="Border"
                                Background="{TemplateBinding Background}"
                                Panel.ZIndex="0"/>

                        <Border x:Name="SpotlightLayer"
                                Background="{TemplateBinding adonisExtensions:CursorSpotlightExtension.BackgroundBrush}"
                                adonisExtensions:CursorSpotlightExtension.MouseEventSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"
                                Panel.ZIndex="1"/>

                        <adonisControls:RippleHost x:Name="RippleLayer"
                                                   MouseEventSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"
                                                   FadeInDuration="{TemplateBinding adonisExtensions:RippleExtension.FadeInDuration}"
                                                   FadeOutDuration="{TemplateBinding adonisExtensions:RippleExtension.FadeOutDuration}"
                                                   Background="{TemplateBinding adonisExtensions:RippleExtension.BackgroundBrush}"
                                                   Foreground="{TemplateBinding adonisExtensions:RippleExtension.ForegroundBrush}"
                                                   Visibility="Collapsed"
                                                   Panel.ZIndex="2">

                            <Grid x:Name="RippleLayerContent"
                                  Margin="{TemplateBinding Padding}"
                                  Visibility="Collapsed">

                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="{Binding Width, ElementName=IconColumn}"/>
                                    <ColumnDefinition Width="{Binding Width, ElementName=HeaderColumn}" MinWidth="{Binding MinWidth, ElementName=HeaderColumn}"/>
                                    <ColumnDefinition Width="{Binding Width, ElementName=InputGestureColumn}"/>
                                    <ColumnDefinition Width="{Binding Width, ElementName=ArrowColumn}" SharedSizeGroup="ArrowColumn"/>
                                </Grid.ColumnDefinitions>

                                <ContentPresenter x:Name="RippleLayerIconPresenter"
                                                  Grid.Column="0"
                                                  Content="{Binding Icon, RelativeSource={RelativeSource TemplatedParent}, Converter={x:Static adonisConverters:IsImmutableFilterConverter.Instance}}"
                                                  ContentTemplate="{TemplateBinding adonisExtensions:MenuItemExtension.IconTemplate}"
                                                  TextElement.Foreground="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type adonisControls:RippleHost}}}"
                                                  Margin="{Binding Margin, ElementName=IconPresenter}"/>

                                <ContentPresenter x:Name="RippleLayerItemHeader"
                                                  Grid.Column="1"
                                                  Content="{Binding Header, RelativeSource={RelativeSource TemplatedParent}, Converter={x:Static adonisConverters:IsImmutableFilterConverter.Instance}}"
                                                  ContentTemplate="{TemplateBinding HeaderTemplate}"
                                                  TextElement.Foreground="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type adonisControls:RippleHost}}}"
                                                  RecognizesAccessKey="True"
                                                  VerticalAlignment="Center"
                                                  HorizontalAlignment="Stretch"
                                                  Margin="{Binding Margin, ElementName=ItemHeader}"/>

                                <TextBlock x:Name="RippleLayerInputGesturePresenter"
                                           Grid.Column="2"
                                           Text="{TemplateBinding InputGestureText}"
                                           TextElement.Foreground="{Binding Foreground, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type adonisControls:RippleHost}}}"
                                           VerticalAlignment="Center"
                                           HorizontalAlignment="Stretch"
                                           Margin="{Binding Margin, ElementName=InputGesturePresenter}"/>

                                <Viewbox x:Name="RippleLayerArrowPresenter"
                                         Grid.Column="3"
                                         Visibility="Collapsed"
                                         Stretch="Uniform"
                                         Margin="0, 4">
                                    <ContentPresenter ContentTemplate="{DynamicResource {x:Static adonisUi:Templates.Expander}}"
                                                        RenderTransformOrigin="0.5, 0.5">
                                        <ContentPresenter.RenderTransform>
                                            <RotateTransform Angle="-90"/>
                                        </ContentPresenter.RenderTransform>
                                    </ContentPresenter>
                                </Viewbox>

                            </Grid>

                        </adonisControls:RippleHost>

                        <Grid Panel.ZIndex="3"
                              Margin="{TemplateBinding Padding}">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto" SharedSizeGroup="CheckMarkColumn" x:Name="CheckMarkColumn"/>
                                <ColumnDefinition Width="22" x:Name="IconColumn"/>
                                <ColumnDefinition Width="*" MinWidth="130" x:Name="HeaderColumn"/>
                                <ColumnDefinition Width="Auto" SharedSizeGroup="InputGestureColumn" x:Name="InputGestureColumn"/>
                                <ColumnDefinition Width="Auto" SharedSizeGroup="ArrowColumn" x:Name="ArrowColumn"/>
                            </Grid.ColumnDefinitions>

                            <ContentPresenter x:Name="IconPresenter"
                                              Grid.Column="1"
                                              Content="{TemplateBinding Icon}"
                                              ContentTemplate="{TemplateBinding adonisExtensions:MenuItemExtension.IconTemplate}"
                                              TextElement.Foreground="{TemplateBinding Foreground}"
                                              Margin="0, 0, 4, 0"/>

                            <ContentPresenter x:Name="ItemHeader"
                                              Grid.Column="2"
                                              Content="{TemplateBinding Header}"
                                              ContentTemplate="{TemplateBinding HeaderTemplate}"
                                              TextElement.Foreground="{TemplateBinding Foreground}"
                                              RecognizesAccessKey="True"
                                              VerticalAlignment="Center"
                                              HorizontalAlignment="Stretch"
                                              Margin="4, 0"/>

                            <TextBlock x:Name="InputGesturePresenter"
                                       Grid.Column="3"
                                       Text="{TemplateBinding InputGestureText}"
                                       Foreground="{TemplateBinding Foreground}"
                                       VerticalAlignment="Center"
                                       HorizontalAlignment="Stretch"
                                       Margin="4, 0"/>

                            <Viewbox x:Name="ArrowPresenter"
                                        Grid.Column="4"
                                        Visibility="Collapsed"
                                        Stretch="Uniform"
                                        Margin="4, 4, 0, 4">
                                <ContentPresenter ContentTemplate="{DynamicResource {x:Static adonisUi:Templates.Expander}}"
                                                    RenderTransformOrigin="0.5, 0.5">
                                    <ContentPresenter.RenderTransform>
                                        <RotateTransform Angle="-90"/>
                                    </ContentPresenter.RenderTransform>
                                </ContentPresenter>
                            </Viewbox>

                        </Grid>

                        <Popup x:Name="SubMenuPopup"
                               Focusable="False"
                               Placement="Right"
                               AllowsTransparency="True"
                               IsOpen="{Binding IsSubmenuOpen, RelativeSource={RelativeSource TemplatedParent}}"
                               PopupAnimation="{DynamicResource {x:Static SystemParameters.MenuPopupAnimationKey}}">

                            <Border x:Name="SubMenuPopupBorder"
                                    BorderBrush="{TemplateBinding BorderBrush}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    Background="{TemplateBinding Background}"
                                    Margin="0, 0, 8, 8"
                                    CornerRadius="{TemplateBinding adonisExtensions:CornerRadiusExtension.CornerRadius}">

                                <StackPanel IsItemsHost="True"
                                            KeyboardNavigation.DirectionalNavigation="Cycle"
                                            Grid.IsSharedSizeScope="True"/>

                            </Border>
                        </Popup>
                    </Grid>

                    <ControlTemplate.Triggers>

                        <Trigger Property="HasItems" Value="True">
                            <Setter Property="Visibility" Value="Visible" TargetName="ArrowPresenter"/>
                        </Trigger>

                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="HasItems" Value="False"/>
                                <Condition Property="Role" Value="TopLevelItem" />
                            </MultiTrigger.Conditions>

                            <Setter Property="Background" Value="Transparent"/>
                            <Setter Property="Placement" TargetName="SubMenuPopup" Value="Bottom"/>
                            <Setter Property="Visibility" Value="Collapsed" TargetName="IconPresenter"/>
                            <Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPresenter"/>
                            <Setter Property="Width" Value="0" TargetName="IconColumn"/>
                            <Setter Property="MinWidth" Value="0" TargetName="HeaderColumn"/>
                            <Setter Property="Width" Value="0" TargetName="InputGestureColumn"/>
                            <Setter Property="Padding" Value="4, 2"/>
                            <Setter Property="CornerRadius" TargetName="Border" Value="{Binding Path=(adonisExtensions:CornerRadiusExtension.CornerRadius), RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                            <Setter Property="CornerRadius" TargetName="SpotlightLayer" Value="{Binding Path=(adonisExtensions:CornerRadiusExtension.CornerRadius), RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                        </MultiTrigger>

                        <Trigger Property="Role" Value="TopLevelHeader">
                            <Setter Property="Background" Value="Transparent"/>
                            <Setter Property="Placement" TargetName="SubMenuPopup" Value="Bottom"/>
                            <Setter Property="Visibility" Value="Collapsed" TargetName="IconPresenter"/>
                            <Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPresenter"/>
                            <Setter Property="Width" Value="0" TargetName="IconColumn"/>
                            <Setter Property="MinWidth" Value="0" TargetName="HeaderColumn"/>
                            <Setter Property="Width" Value="0" TargetName="InputGestureColumn"/>
                            <Setter Property="Padding" Value="4, 2"/>
                            <Setter Property="CornerRadius" TargetName="Border" Value="{Binding Path=(adonisExtensions:CornerRadiusExtension.CornerRadius), RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                            <Setter Property="CornerRadius" TargetName="SpotlightLayer" Value="{Binding Path=(adonisExtensions:CornerRadiusExtension.CornerRadius), RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                        </Trigger>

                        <Trigger Property="Role" Value="SubmenuItem">
                            <Setter Property="Visibility" TargetName="RippleLayer" Value="Visible"/>
                        </Trigger>

                        <Trigger Property="IsChecked" Value="True">
                            <Setter Property="Content" TargetName="IconPresenter" Value="{x:Null}"/>
                            <Setter Property="Content" TargetName="RippleLayerIconPresenter" Value="{x:Null}"/>
                            <Setter Property="ContentTemplate" TargetName="IconPresenter" Value="{StaticResource MenuItemCheckMarkTemplate}"/>
                            <Setter Property="ContentTemplate" TargetName="RippleLayerIconPresenter" Value="{StaticResource MenuItemCheckMarkTemplate}"/>
                        </Trigger>

                        <Trigger Property="HasDropShadow" SourceName="SubMenuPopup" Value="True">
                            <Setter Property="Effect" TargetName="SubMenuPopupBorder">
                                <Setter.Value>
                                    <DropShadowEffect ShadowDepth="2"
                                                      BlurRadius="8"
                                                      Opacity="0.3"
                                                      Direction="315"/>
                                </Setter.Value>
                            </Setter>
                        </Trigger>

                        <Trigger Property="IsHighlighted" Value="True">
                            <Trigger.Setters>
                                <Setter Property="Background" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1HighlightBrush}}"/>
                                <Setter Property="adonisExtensions:CursorSpotlightExtension.BackgroundBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1IntenseHighlightBrush}}"/>
                            </Trigger.Setters>
                        </Trigger>

                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="Role" Value="TopLevelHeader"/>
                                <Condition Property="IsHighlighted" Value="True"/>
                            </MultiTrigger.Conditions>

                            <Setter Property="BorderBrush" TargetName="Border" Value="{Binding BorderBrush, RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                            <Setter Property="BorderThickness" TargetName="Border" Value="{Binding BorderThickness, RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                            <Setter Property="BorderBrush" TargetName="SpotlightLayer" Value="{Binding Path=(adonisExtensions:CursorSpotlightExtension.BorderBrush), RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                            <Setter Property="BorderThickness" TargetName="SpotlightLayer" Value="{Binding BorderThickness, RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                        </MultiTrigger>

                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="Role" Value="TopLevelItem"/>
                                <Condition Property="IsHighlighted" Value="True"/>
                                <Condition Property="HasItems" Value="False" />
                            </MultiTrigger.Conditions>

                            <Setter Property="BorderBrush" TargetName="Border" Value="{Binding BorderBrush, RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                            <Setter Property="BorderThickness" TargetName="Border" Value="{Binding BorderThickness, RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                            <Setter Property="BorderBrush" TargetName="SpotlightLayer" Value="{Binding Path=(adonisExtensions:CursorSpotlightExtension.BorderBrush), RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                            <Setter Property="BorderThickness" TargetName="SpotlightLayer" Value="{Binding BorderThickness, RelativeSource={RelativeSource FindAncestor, AncestorType=MenuItem}}"/>
                        </MultiTrigger>

                        <Trigger Property="IsEnabled" Value="False">
                            <Trigger.Setters>
                                <Setter Property="Foreground" Value="{DynamicResource {x:Static adonisUi:Brushes.DisabledForegroundBrush}}"/>
                            </Trigger.Setters>
                        </Trigger>

                        <!--#region Triggers to support Foreground of RippleLayer-->

                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding HeaderTemplate, RelativeSource={RelativeSource Self}, Converter={x:Static adonisConverters:IsNullToBoolConverter.Instance}}" Value="False"/>
                                <Condition Binding="{Binding Path=(adonisExtensions:MenuItemExtension.IconTemplate), RelativeSource={RelativeSource Self}, Converter={x:Static adonisConverters:IsNullToBoolConverter.Instance}}" Value="False"/>
                            </MultiDataTrigger.Conditions>
                            <MultiDataTrigger.Setters>
                                <Setter Property="Visibility" TargetName="RippleLayerContent" Value="Visible"/>
                                <Setter Property="Panel.ZIndex" TargetName="RippleLayer" Value="4"/>
                            </MultiDataTrigger.Setters>
                        </MultiDataTrigger>

                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding HeaderTemplate, RelativeSource={RelativeSource Self}, Converter={x:Static adonisConverters:IsNullToBoolConverter.Instance}}" Value="False"/>
                                <Condition Binding="{Binding Icon, RelativeSource={RelativeSource Self}, Converter={x:Static adonisConverters:IsImmutableToBoolConverter.Instance}}" Value="True"/>
                            </MultiDataTrigger.Conditions>
                            <MultiDataTrigger.Setters>
                                <Setter Property="Visibility" TargetName="RippleLayerContent" Value="Visible"/>
                                <Setter Property="Panel.ZIndex" TargetName="RippleLayer" Value="4"/>
                            </MultiDataTrigger.Setters>
                        </MultiDataTrigger>

                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding Header, RelativeSource={RelativeSource Self}, Converter={x:Static adonisConverters:IsImmutableToBoolConverter.Instance}}" Value="True"/>
                                <Condition Binding="{Binding Path=(adonisExtensions:MenuItemExtension.IconTemplate), RelativeSource={RelativeSource Self}, Converter={x:Static adonisConverters:IsNullToBoolConverter.Instance}}" Value="False"/>
                            </MultiDataTrigger.Conditions>
                            <MultiDataTrigger.Setters>
                                <Setter Property="Visibility" TargetName="RippleLayerContent" Value="Visible"/>
                                <Setter Property="Panel.ZIndex" TargetName="RippleLayer" Value="4"/>
                            </MultiDataTrigger.Setters>
                        </MultiDataTrigger>

                        <MultiDataTrigger>
                            <MultiDataTrigger.Conditions>
                                <Condition Binding="{Binding Header, RelativeSource={RelativeSource Self}, Converter={x:Static adonisConverters:IsImmutableToBoolConverter.Instance}}" Value="True"/>
                                <Condition Binding="{Binding Icon, RelativeSource={RelativeSource Self}, Converter={x:Static adonisConverters:IsImmutableToBoolConverter.Instance}}" Value="True"/>
                            </MultiDataTrigger.Conditions>
                            <MultiDataTrigger.Setters>
                                <Setter Property="Visibility" TargetName="RippleLayerContent" Value="Visible"/>
                                <Setter Property="Panel.ZIndex" TargetName="RippleLayer" Value="4"/>
                            </MultiDataTrigger.Setters>
                        </MultiDataTrigger>

                        <!--#endregion-->

                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="CustomExpanderDownHeaderStyle" TargetType="{x:Type ToggleButton}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ToggleButton}">
                    <Border DockPanel.Dock="Top" Background="Transparent">
                        <Viewbox Width="16" Height="16" HorizontalAlignment="Center">
                            <Canvas Width="24" Height="24">
                                <Path Fill="{TemplateBinding Foreground}" Data="{StaticResource ExpanderIcon}"/>
                            </Canvas>
                        </Viewbox>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="{x:Type Expander}" TargetType="Expander" BasedOn="{StaticResource {x:Type Expander}}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Expander}">
                    <Border>
                        <DockPanel>
                            <ToggleButton x:Name="HeaderSite" DockPanel.Dock="Top"
                                          ContentTemplate="{TemplateBinding HeaderTemplate}"
                                          ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}"
                                          Foreground="{TemplateBinding Foreground}"
                                          FocusVisualStyle="{StaticResource ExpanderHeaderFocusVisual}"
                                          HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                          VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                                          IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                                          Style="{DynamicResource CustomExpanderDownHeaderStyle}"/>

                            <Border x:Name="ExpandSiteContainerWrapper"
                                    DockPanel.Dock="Bottom"
                                    HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                    VerticalAlignment="{TemplateBinding VerticalContentAlignment}">

                                <ScrollViewer x:Name="ExpandSiteContainer"
                                              Padding="0"
                                              Margin="{TemplateBinding Padding}"
                                              HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                              VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                              HorizontalContentAlignment="Stretch"
                                              VerticalContentAlignment="Bottom"
                                              VerticalScrollBarVisibility="Hidden"
                                              HorizontalScrollBarVisibility="Hidden">
                                    <ScrollViewer.Height>
                                        <MultiBinding Converter="{adonisConverters:MathConverter}" ConverterParameter="x*y">
                                            <Binding Path="ActualHeight" ElementName="ExpandSite"/>
                                            <Binding Path="Tag" RelativeSource="{RelativeSource Self}"/>
                                        </MultiBinding>
                                    </ScrollViewer.Height>
                                    <ScrollViewer.Tag>
                                        <system:Double>0.0</system:Double>
                                    </ScrollViewer.Tag>

                                    <ContentPresenter x:Name="ExpandSite"
                                                      Focusable="False"
                                                      HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                                      VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                                </ScrollViewer>
                            </Border>
                        </DockPanel>
                    </Border>

                    <ControlTemplate.Triggers>
                        <MultiTrigger>
                            <MultiTrigger.Conditions>
                                <Condition Property="ExpandDirection" Value="Down"/>
                                <Condition Property="VerticalContentAlignment" Value="Stretch"/>
                            </MultiTrigger.Conditions>
                            <Setter Property="Height" TargetName="ExpandSiteContainer">
                                <Setter.Value>
                                    <MultiBinding Converter="{adonisConverters:MathConverter}" ConverterParameter="x*y">
                                        <Binding Path="ActualHeight" ElementName="ExpandSiteContainerWrapper"/>
                                        <Binding Path="Tag" RelativeSource="{RelativeSource Self}" />
                                    </MultiBinding>
                                </Setter.Value>
                            </Setter>
                        </MultiTrigger>

                        <Trigger Property="IsExpanded" Value="True">
                            <Setter Property="Margin" TargetName="HeaderSite" Value="0 0 0 5" />
                            <Trigger.EnterActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetName="ExpandSiteContainer"
                                                         Storyboard.TargetProperty="Tag"
                                                         To="1"
                                                         Duration="0:0:0.2"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </Trigger.EnterActions>
                            <Trigger.ExitActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetName="ExpandSiteContainer"
                                                         Storyboard.TargetProperty="Tag"
                                                         To="0"
                                                         Duration="0:0:0.2"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </Trigger.ExitActions>
                        </Trigger>

                        <Trigger Property="IsExpanded" Value="False">
                            <Setter Property="KeyboardNavigation.TabNavigation" TargetName="ExpandSite" Value="None"/>
                        </Trigger>

                        <Trigger Property="IsMouseOver" SourceName="HeaderSite" Value="True">
                            <Setter Property="Foreground" TargetName="HeaderSite" Value="{DynamicResource {x:Static adonisUi:Brushes.AccentBrush}}"/>
                        </Trigger>

                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="{x:Type avalonedit:TextEditor}" TargetType="avalonedit:TextEditor" BasedOn="{StaticResource {x:Type avalonedit:TextEditor}}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type avalonedit:TextEditor}">
                    <Border
                        Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}">
                        <ScrollViewer
                            Focusable="False"
                            Name="PART_ScrollViewer"
                            CanContentScroll="True"
                            VerticalScrollBarVisibility="{TemplateBinding VerticalScrollBarVisibility}"
                            HorizontalScrollBarVisibility="{TemplateBinding HorizontalScrollBarVisibility}"
                            Content="{Binding TextArea, RelativeSource={RelativeSource TemplatedParent}}"
                            VerticalContentAlignment="Top"
                            HorizontalContentAlignment="Left"
                            Padding="{TemplateBinding Padding}"
                            controls:CustomScrollViewer.VerticalOffset="{Binding ScrollPosition}"
                            adonisExtensions:ScrollViewerExtension.VerticalScrollBarExpansionMode="ExpandOnHover"
                            adonisExtensions:ScrollViewerExtension.VerticalScrollBarPlacement="Docked"
                            adonisExtensions:ScrollViewerExtension.HorizontalScrollBarExpansionMode="NeverExpand"
                            adonisExtensions:ScrollViewerExtension.HorizontalScrollBarPlacement="Docked"
                        />
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="WordWrap" Value="True">
                            <Setter TargetName="PART_ScrollViewer" Property="HorizontalScrollBarVisibility" Value="Disabled" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="CustomRichTextBox" TargetType="RichTextBox">
        <Setter Property="Height" Value="175" />
        <Setter Property="IsReadOnly" Value="True" />
        <Setter Property="IsDocumentEnabled" Value="True" />
        <Setter Property="Background" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer3BackgroundBrush}}" />
        <Setter Property="BorderBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer3BorderBrush}}" />
        <Setter Property="Foreground" Value="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <Border x:Name="Bd"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}"
                            SnapsToDevicePixels="True"
                            Background="{TemplateBinding Background}">
                        <ScrollViewer Name="PART_ContentHost"/>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>

        <Style.Resources>
            <Style TargetType="{x:Type Paragraph}">
                <Setter Property="Margin" Value="0" />
            </Style>
            <Style TargetType="{x:Type FlowDocument}" BasedOn="{StaticResource {x:Type FlowDocument}}">
                <Setter Property="FontSize" Value="11" />
                <Setter Property="FontFamily" Value="Consolas" />
                <Setter Property="TextAlignment" Value="Left" />
                <Setter Property="PageWidth" Value="{Binding ActualWidth, ElementName=LogRtbName, Mode=OneWay}" />
            </Style>
        </Style.Resources>
    </Style>

    <ControlTemplate x:Key="CircleTemplate" TargetType="{x:Type controls:Magnifier}">
        <Grid>
            <Ellipse Fill="{TemplateBinding Background}" />
            <Ellipse Stroke="{Binding Path=BorderBrush, RelativeSource={RelativeSource TemplatedParent}}"
                     StrokeThickness="{Binding Path=BorderThickness, RelativeSource={RelativeSource TemplatedParent}, Converter={x:Static converters:BorderThicknessToStrokeThicknessConverter.Instance}}">
                <Ellipse.Fill>
                    <VisualBrush x:Name="PART_VisualBrush" ViewboxUnits="Absolute" Visual="{Binding Path=Target, RelativeSource={RelativeSource TemplatedParent}}" />
                </Ellipse.Fill>
            </Ellipse>
        </Grid>
   </ControlTemplate>

   <ControlTemplate x:Key="RectangleTemplate" TargetType="{x:Type controls:Magnifier}">
       <Grid Background="{TemplateBinding Background}" >
           <Rectangle Stroke="{Binding Path=BorderBrush, RelativeSource={RelativeSource TemplatedParent}}"
                      StrokeThickness="{Binding Path=BorderThickness, RelativeSource={RelativeSource TemplatedParent}, Converter={x:Static converters:BorderThicknessToStrokeThicknessConverter.Instance}}">
               <Rectangle.Fill>
                   <VisualBrush x:Name="PART_VisualBrush" ViewboxUnits="Absolute" Visual="{Binding Path=Target, RelativeSource={RelativeSource TemplatedParent}}" />
               </Rectangle.Fill>
           </Rectangle>
       </Grid>
   </ControlTemplate>

   <Style TargetType="{x:Type controls:Magnifier}">
      <Setter Property="IsHitTestVisible" Value="False" />

      <Style.Triggers>
          <Trigger Property="FrameType" Value="Circle">
              <Setter Property="Template" Value="{StaticResource CircleTemplate}" />
          </Trigger>
          <Trigger Property="FrameType" Value="Rectangle">
              <Setter Property="Template" Value="{StaticResource RectangleTemplate}" />
          </Trigger>
          <Trigger Property="IsEnabled" Value="False">
              <Setter Property="Template" Value="{x:Null}" />
          </Trigger>
      </Style.Triggers>
   </Style>

    <Style x:Key="{x:Type ComboBoxItem}" TargetType="ComboBoxItem" BasedOn="{StaticResource {x:Type ComboBoxItem}}">
        <Setter Property="Focusable" Value="False" />
    </Style>

    <Style x:Key="{x:Type ComboBox}" TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
        <Setter Property="Focusable" Value="False" />
    </Style>

    <Style x:Key="UComboBox" TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
        <Setter Property="adonisExtensions:WatermarkExtension.Watermark" Value="UE5 / UE4 / GameName..." />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ComboBox">
                    <Grid>
                        <Border x:Name="Border"
                                Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                CornerRadius="{TemplateBinding adonisExtensions:CornerRadiusExtension.CornerRadius}"/>

                        <Border x:Name="SpotlightLayer"
                                Background="{TemplateBinding adonisExtensions:CursorSpotlightExtension.BackgroundBrush}"
                                BorderBrush="{TemplateBinding adonisExtensions:CursorSpotlightExtension.BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                CornerRadius="{TemplateBinding adonisExtensions:CornerRadiusExtension.CornerRadius}"
                                adonisExtensions:CursorSpotlightExtension.MouseEventSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=ComboBox}}"
                                SnapsToDevicePixels="False"/>

                        <ToggleButton x:Name="ToggleButton"
                                      ClickMode="Press"
                                      Focusable="False"
                                      Foreground="{TemplateBinding Foreground}"
                                      adonisExtensions:CornerRadiusExtension.CornerRadius="{TemplateBinding adonisExtensions:CornerRadiusExtension.CornerRadius}"
                                      IsChecked="{Binding Path=IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
                                      Template="{StaticResource ComboBoxToggleButtonTemplate}"/>

                        <Border Margin="0, 0, 11, 0">

                            <DockPanel Margin="{TemplateBinding Padding}">

                                <adonisControls:ValidationErrorIndicator x:Name="ErrorAlertHost"
                                                                         ValidatedElement="{Binding ., RelativeSource={RelativeSource TemplatedParent}}"
                                                                         IsValidatedElementFocused="False"
                                                                         IsErrorMessageDisplayOnFocusEnabled="{TemplateBinding adonisExtensions:ValidationExtension.IsErrorMessageVisibleOnFocus}"
                                                                         IsErrorMessageDisplayOnMouseOverEnabled="{TemplateBinding adonisExtensions:ValidationExtension.IsErrorMessageVisibleOnMouseOver}"
                                                                         ErrorMessagePlacement="{TemplateBinding adonisExtensions:ValidationExtension.ErrorMessagePlacement}"
                                                                         Visibility="Collapsed"
                                                                         DockPanel.Dock="Left"
                                                                         Margin="0, 0, 4, 0"/>

                                <ContentPresenter x:Name="ContentSite"
                                                  IsHitTestVisible="False"
                                                  HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                                  VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                                  Content="{TemplateBinding ComboBox.SelectionBoxItem}"
                                                  ContentTemplate="{TemplateBinding ComboBox.SelectionBoxItemTemplate}"
                                                  ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"/>


                                <TextBox x:Name="PART_EditableTextBox"
                                         IsReadOnly="{TemplateBinding IsReadOnly}"
                                         Background="{TemplateBinding Background}"
                                         Foreground="{TemplateBinding Foreground}"
                                         Visibility="Hidden"
                                         HorizontalAlignment="Stretch"
                                         VerticalAlignment="Stretch"
                                         HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                         VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                                         Focusable="True">
                                    <TextBox.Template>
                                        <ControlTemplate TargetType="TextBox" >
                                            <Grid>
                                                <ContentPresenter x:Name="PlaceholderHost"
                                                                  Content="{Binding Path=(adonisExtensions:WatermarkExtension.Watermark), RelativeSource={RelativeSource FindAncestor, AncestorType=ComboBox}}"
                                                                  HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                                                  VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                                                  Opacity="0.5"
                                                                  IsHitTestVisible="False"
                                                                  Visibility="Collapsed"/>

                                                <ScrollViewer Name="PART_ContentHost"
                                                              Focusable="False"
                                                              HorizontalScrollBarVisibility="Hidden"
                                                              VerticalScrollBarVisibility="Hidden"
                                                              Template="{StaticResource TextBoxScrollViewerTemplate}"/>
                                            </Grid>

                                            <ControlTemplate.Triggers>
                                                <DataTrigger Binding="{Binding Path=(adonisExtensions:WatermarkExtension.IsWatermarkVisible), RelativeSource={RelativeSource FindAncestor, AncestorType=ComboBox}}" Value="True">
                                                    <Setter Property="Visibility" TargetName="PlaceholderHost" Value="Visible"/>
                                                </DataTrigger>
                                            </ControlTemplate.Triggers>
                                        </ControlTemplate>
                                    </TextBox.Template>
                                </TextBox>
                            </DockPanel>
                        </Border>

                        <!-- Popup showing items -->
                        <Popup x:Name="PART_Popup"
                               Placement="Bottom"
                               Focusable="False"
                               AllowsTransparency="True"
                               IsOpen="{TemplateBinding ComboBox.IsDropDownOpen}"
                               PopupAnimation="Slide"
                               adonisExtensions:LayerExtension.IncreaseLayer="True">

                            <Grid x:Name="DropDown"
                                  SnapsToDevicePixels="True"
                                  MinWidth="{TemplateBinding FrameworkElement.ActualWidth}"
                                  MaxHeight="{TemplateBinding ComboBox.MaxDropDownHeight}">

                                <Border x:Name="DropDownBorder"
                                        Background="{TemplateBinding Background}"
                                        Margin="0, 1, 0, 0"
                                        CornerRadius="{TemplateBinding adonisExtensions:CornerRadiusExtension.CornerRadius}"
                                        BorderThickness="{TemplateBinding BorderThickness}"
                                        BorderBrush="{TemplateBinding BorderBrush}">

                                    <ScrollViewer x:Name="DropDownScroller"
                                                  SnapsToDevicePixels="True"
                                                  adonisExtensions:ScrollViewerExtension.VerticalScrollBarExpansionMode="{Binding Path=(adonisExtensions:ScrollViewerExtension.VerticalScrollBarExpansionMode), RelativeSource={RelativeSource TemplatedParent}}"
                                                  adonisExtensions:ScrollViewerExtension.HorizontalScrollBarExpansionMode="{Binding Path=(adonisExtensions:ScrollViewerExtension.HorizontalScrollBarExpansionMode), RelativeSource={RelativeSource TemplatedParent}}"
                                                  adonisExtensions:ScrollViewerExtension.VerticalScrollBarPlacement="{Binding Path=(adonisExtensions:ScrollViewerExtension.VerticalScrollBarPlacement), RelativeSource={RelativeSource TemplatedParent}}"
                                                  adonisExtensions:ScrollViewerExtension.HorizontalScrollBarPlacement="{Binding Path=(adonisExtensions:ScrollViewerExtension.HorizontalScrollBarPlacement), RelativeSource={RelativeSource TemplatedParent}}"
                                                  adonisExtensions:ScrollViewerExtension.HideScrollBarsUntilMouseOver="{Binding Path=(adonisExtensions:ScrollViewerExtension.HideScrollBarsUntilMouseOver), RelativeSource={RelativeSource TemplatedParent}}">
                                        <ItemsPresenter KeyboardNavigation.DirectionalNavigation="Contained" />
                                    </ScrollViewer>
                                </Border>

                                <StackPanel x:Name="BlindIndicator"
                                            Grid.ZIndex="1"
                                            Focusable="False"
                                            Margin="0 7 0 0"
                                            HorizontalAlignment="Stretch"
                                            VerticalAlignment="Top"
                                            Visibility="Visible"
                                            MinHeight="15">
                                    <ContentControl ContentTemplate="{DynamicResource {x:Static adonisUi:Templates.Expander}}"
                                                    Foreground="{TemplateBinding Foreground}"
                                                    Focusable="False"
                                                    HorizontalAlignment="Center"
                                                    VerticalAlignment="Center"
                                                    RenderTransformOrigin="0.5 0.5">
                                        <ContentControl.RenderTransform>
                                            <TransformGroup>
                                                <RotateTransform Angle="180"/>
                                                <TranslateTransform Y="0"/>
                                            </TransformGroup>
                                        </ContentControl.RenderTransform>
                                        <ContentControl.Triggers>
                                            <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                                                <BeginStoryboard>
                                                    <BeginStoryboard.Storyboard>
                                                        <Storyboard RepeatBehavior="Forever">
                                                            <DoubleAnimation
                                                                Storyboard.TargetProperty="RenderTransform.Children[0].Angle"
                                                                From="190" To="170" Duration="0:0:0.3"
                                                                AutoReverse="True" />
                                                            <DoubleAnimation
                                                                Storyboard.TargetProperty="RenderTransform.Children[1].Y"
                                                                From="-1" To="1" Duration="0:0:0.2"
                                                                AutoReverse="True" />
                                                        </Storyboard>
                                                    </BeginStoryboard.Storyboard>
                                                </BeginStoryboard>
                                            </EventTrigger>
                                        </ContentControl.Triggers>
                                    </ContentControl>
                                    <!-- <TextBlock Text="Game-Specific Versions" -->
                                    <!--            Foreground="{TemplateBinding Foreground}" -->
                                    <!--            FontSize="9" -->
                                    <!--            TextAlignment="Center"> -->
                                    <!-- </TextBlock> -->

                                    <!-- <StackPanel.Background> -->
                                    <!--     <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> -->
                                    <!--         <GradientStop Color="#35000000" Offset="0" /> -->
                                    <!--         <GradientStop Color="#00000000" Offset="1" /> -->
                                    <!--     </LinearGradientBrush> -->
                                    <!-- </StackPanel.Background> -->
                                </StackPanel>
                            </Grid>
                        </Popup>
                    </Grid>
                    <ControlTemplate.Triggers>

                        <Trigger Property="HasItems" Value="False">
                            <Setter Property="FrameworkElement.MinHeight" TargetName="DropDownBorder" Value="95"/>
                            <Setter Property="Visibility" TargetName="BlindIndicator" Value="Collapsed" />
                        </Trigger>

                        <Trigger Property="IsGrouping" Value="True">
                            <Setter Property="ScrollViewer.CanContentScroll" Value="False"/>
                        </Trigger>

                        <Trigger Property="IsEditable" Value="True">
                            <Setter Property="KeyboardNavigation.IsTabStop" Value="False"/>
                            <Setter Property="UIElement.Visibility" TargetName="PART_EditableTextBox" Value="Visible"/>
                            <Setter Property="UIElement.Visibility" TargetName="ContentSite" Value="Collapsed"/>
                            <Setter Property="HorizontalAlignment" TargetName="ToggleButton" Value="Right"/>
                            <Setter Property="HorizontalAlignment" TargetName="ToggleButton" Value="Right"/>
                        </Trigger>

                        <Trigger Property="Validation.HasError" Value="True">
                            <Setter Property="Visibility" TargetName="ErrorAlertHost" Value="Visible"/>
                            <Setter Property="BorderBrush" TargetName="Border" Value="{DynamicResource {x:Static adonisUi:Brushes.ErrorBrush}}"/>
                            <Setter Property="BorderBrush" TargetName="SpotlightLayer" Value="{DynamicResource {x:Static adonisUi:Brushes.ErrorBrush}}"/>
                        </Trigger>

                        <Trigger Property="IsFocused" SourceName="PART_EditableTextBox" Value="True">
                            <Setter Property="IsValidatedElementFocused" TargetName="ErrorAlertHost" Value="True"/>
                        </Trigger>

                        <Trigger Property="IsDropDownOpen" Value="True">
                            <Setter Property="IsValidatedElementFocused" TargetName="ErrorAlertHost" Value="True"/>
                        </Trigger>

                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="{x:Type Button}" TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
        <Setter Property="Focusable" Value="False" />
    </Style>

    <Style x:Key="{x:Static GridView.GridViewScrollViewerStyleKey}" TargetType="ScrollViewer" BasedOn="{StaticResource {x:Type ScrollViewer}}">
        <Setter Property="HorizontalScrollBarVisibility" Value="Disabled" />
        <Setter Property="adonisExtensions:ScrollViewerExtension.VerticalScrollBarExpansionMode" Value="AlwaysExpand"/>
        <Setter Property="adonisExtensions:ScrollViewerExtension.VerticalScrollBarPlacement" Value="Docked"/>
    </Style>

    <Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}" BasedOn="{StaticResource {x:Type ScrollBar}}">
        <Style.Triggers>
            <Trigger Property="Orientation" Value="Horizontal">
                <Setter Property="Width" Value="Auto"/>
                <Setter Property="Height" Value="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarHeight}}" />
                <Setter Property="Template" Value="{StaticResource HorizontalScrollBar}" />
            </Trigger>

            <Trigger Property="Orientation" Value="Vertical">
                <Setter Property="Height" Value="Auto" />
                <Setter Property="Width" Value="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" />
                <Setter Property="Template" Value="{StaticResource VerticalScrollBar}" />
            </Trigger>

            <DataTrigger Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="2">
                <Setter Property="Foreground" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer2BorderBrush}}"/>
                <Setter Property="Background" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer2BackgroundBrush}}"/>
            </DataTrigger>

            <DataTrigger Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="3">
                <Setter Property="Foreground" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer4BorderBrush}}"/>
                <Setter Property="Background" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer4BackgroundBrush}}"/>
            </DataTrigger>

            <DataTrigger Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="4">
                <Setter Property="Foreground" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer4BorderBrush}}"/>
                <Setter Property="Background" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer4BackgroundBrush}}"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>

    <Style x:Key="StatusBarButton" TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
        <Setter Property="Foreground" Value="{Binding Foreground, RelativeSource={RelativeSource AncestorType=StatusBar}}"/>
        <Setter Property="HorizontalContentAlignment" Value="Left"/>
        <Setter Property="VerticalContentAlignment" Value="Stretch"/>
        <Setter Property="BorderThickness" Value="0"/>

        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="adonisExtensions:CursorSpotlightExtension.BackgroundBrush" Value="#33FFFFFF"/>
            </Trigger>

        </Style.Triggers>
    </Style>

    <Style x:Key="PlayPauseToolbarButton" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
        <Setter Property="Content">
            <Setter.Value>
                <Viewbox Width="16" Height="16">
                    <Canvas Width="24" Height="24">
                        <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource PlayIcon}" />
                    </Canvas>
                </Viewbox>
            </Setter.Value>
        </Setter>
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="BorderBrush" Value="Transparent"/>
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="Padding" Value="2"/>
        <Setter Property="ToolTip" Value="Play" />

        <Style.Triggers>

            <DataTrigger Binding="{Binding AudioPlayer.PlayedFile.PlaybackState, Mode=OneWay}" Value="{x:Static soundOut:PlaybackState.Playing}">
                <Setter Property="ToolTip" Value="Pause" />
                <Setter Property="Content">
                    <Setter.Value>
                        <Viewbox Width="16" Height="16">
                            <Canvas Width="24" Height="24">
                                <Path Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" Data="{StaticResource PauseIcon}" />
                            </Canvas>
                        </Viewbox>
                    </Setter.Value>
                </Setter>
            </DataTrigger>

            <DataTrigger Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="2">
                <Setter Property="Background" Value="Transparent"/>
                <Setter Property="BorderBrush" Value="Transparent"/>
            </DataTrigger>

            <DataTrigger Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="3">
                <Setter Property="Background" Value="Transparent"/>
                <Setter Property="BorderBrush" Value="Transparent"/>
            </DataTrigger>

            <DataTrigger Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="4">
                <Setter Property="Background" Value="Transparent"/>
                <Setter Property="BorderBrush" Value="Transparent"/>
            </DataTrigger>

            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Background" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1HighlightBrush}}"/>
                <Setter Property="BorderBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1HighlightBorderBrush}}"/>
                <Setter Property="adonisExtensions:CursorSpotlightExtension.BackgroundBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1IntenseHighlightBrush}}"/>
                <Setter Property="adonisExtensions:CursorSpotlightExtension.BorderBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1IntenseHighlightBorderBrush}}"/>
            </Trigger>

            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="2"/>
                    <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="True" />
                </MultiDataTrigger.Conditions>
                <MultiDataTrigger.Setters>
                    <Setter Property="Background" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer2HighlightBrush}}"/>
                    <Setter Property="BorderBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer2HighlightBorderBrush}}"/>
                    <Setter Property="adonisExtensions:CursorSpotlightExtension.BackgroundBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer2IntenseHighlightBrush}}"/>
                    <Setter Property="adonisExtensions:CursorSpotlightExtension.BorderBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer2IntenseHighlightBorderBrush}}"/>
                </MultiDataTrigger.Setters>
            </MultiDataTrigger>

            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="3"/>
                    <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="True" />
                </MultiDataTrigger.Conditions>
                <MultiDataTrigger.Setters>
                    <Setter Property="Background" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer3HighlightBrush}}"/>
                    <Setter Property="BorderBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer3HighlightBorderBrush}}"/>
                    <Setter Property="adonisExtensions:CursorSpotlightExtension.BackgroundBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer3IntenseHighlightBrush}}"/>
                    <Setter Property="adonisExtensions:CursorSpotlightExtension.BorderBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer3IntenseHighlightBorderBrush}}"/>
                </MultiDataTrigger.Setters>
            </MultiDataTrigger>

            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding Path=(adonisExtensions:LayerExtension.ComputedLayer), RelativeSource={RelativeSource Self}}" Value="4"/>
                    <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="True" />
                </MultiDataTrigger.Conditions>
                <MultiDataTrigger.Setters>
                    <Setter Property="Background" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer4HighlightBrush}}"/>
                    <Setter Property="BorderBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer4HighlightBorderBrush}}"/>
                    <Setter Property="adonisExtensions:CursorSpotlightExtension.BackgroundBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer4IntenseHighlightBrush}}"/>
                    <Setter Property="adonisExtensions:CursorSpotlightExtension.BorderBrush" Value="{DynamicResource {x:Static adonisUi:Brushes.Layer4IntenseHighlightBorderBrush}}"/>
                </MultiDataTrigger.Setters>
            </MultiDataTrigger>

        </Style.Triggers>
    </Style>

    <Style TargetType="{x:Type audioControls:Timeline}">
        <Setter Property="ProgressBrush">
            <Setter.Value>
                <LinearGradientBrush StartPoint="0,0" EndPoint="1,1" >
                    <GradientStop Color="#45B649" Offset="0.0" />
                    <GradientStop Color="#DCE35B" Offset="1.0" />
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>
        <Setter Property="ProgressLineBrush" Value="Brown" />
        <Setter Property="TickBrush" Value="#7F848E" />
        <Setter Property="TimeBrush" Value="#DAE5F2" />
        <Setter Property="MousePositionBrush" Value="Brown" />
        <Setter Property="Height" Value="25" />
        <Setter Property="Position" Value="0" />
        <Setter Property="HorizontalAlignment" Value="Stretch" />
        <Setter Property="VerticalAlignment" Value="Bottom" />
        <Setter Property="Source" Value="{Binding AudioPlayer}" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type audioControls:Timeline}">
                    <Border Name="PART_TimelineArea" Background="Transparent">
                        <Grid Name="PART_Timeline" ClipToBounds="True">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="20" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="*" />
                            </Grid.ColumnDefinitions>

                            <Rectangle Name="PART_MousePosition" Grid.Row="0" Grid.RowSpan="2" Grid.Column="0"
                                       Fill="{TemplateBinding MousePositionBrush}" Width="2" Visibility="Collapsed" />
                            <Grid Name="PART_Length" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" ClipToBounds="True" SnapsToDevicePixels="False" />
                            <Grid Name="PART_ControlContainer" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2">
                                <Border Name="PART_ProgressLine" BorderBrush="{TemplateBinding ProgressLineBrush}"
                                        Background="{TemplateBinding ProgressBrush}" Width="{TemplateBinding ActualWidth}"
                                        VerticalAlignment="Stretch" HorizontalAlignment="Left" BorderThickness="0 0 1 0" />
                            </Grid>
                        </Grid>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type audioControls:SpectrumAnalyzer}">
        <Setter Property="FrequencyBarCount" Value="75" />
        <Setter Property="FrequencyBarBorderBrush" Value="#DAE5F2" />
        <Setter Property="FrequencyBarBrush">
            <Setter.Value>
                <LinearGradientBrush StartPoint="0,0" EndPoint="1,1" >
                    <GradientStop Color="#B5AC49" Offset="0.0" />
                    <GradientStop Color="#3CA55C" Offset="1.0" />
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>
        <Setter Property="HorizontalAlignment" Value="Stretch" />
        <Setter Property="VerticalAlignment" Value="Stretch" />
        <Setter Property="Source" Value="{Binding AudioPlayer}" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type audioControls:SpectrumAnalyzer}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">
                        <Grid Name="PART_Spectrum" />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type audioControls:Timeclock}">
        <Setter Property="FontSize" Value="16" />
        <Setter Property="VerticalAlignment" Value="Top" />
        <Setter Property="HorizontalAlignment" Value="Right" />
        <Setter Property="Margin" Value="0 15 15 0" />
        <Setter Property="Source" Value="{Binding AudioPlayer}" />
        <Setter Property="TimeForeground" Value="#DAE5F2" />
        <Setter Property="LabelForeground" Value="#E5C07B" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type audioControls:Timeclock}">
                    <Grid Name="PART_Timeclock" ClipToBounds="True">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto" />
                            <RowDefinition Height="Auto" />
                        </Grid.RowDefinitions>

                        <TextBlock Name="PART_Label"
                                   Text="{TemplateBinding Label}"
                                   FontFamily="{TemplateBinding LabelFont}"
                                   Padding="0"
                                   Foreground="{TemplateBinding LabelForeground}">
                            <TextBlock.LayoutTransform>
                                <ScaleTransform ScaleX=".75" ScaleY=".75" />
                            </TextBlock.LayoutTransform>
                        </TextBlock>
                        <TextBlock Name="PART_Time"
                                   Text="00:00:00.00"
                                   Grid.Row="1"
                                   HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
                                   FontFamily="{TemplateBinding TimeFont}"
                                   Foreground="{TemplateBinding TimeForeground}" />
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type folding:FoldingMargin}">
        <Setter Property="FoldingMarkerBrush" Value="#262630" />
        <Setter Property="FoldingMarkerBackgroundBrush" Value="#262630" />
        <Setter Property="SelectedFoldingMarkerBrush" Value="#808080" />
        <Setter Property="SelectedFoldingMarkerBackgroundBrush" Value="#2A2B34" />
    </Style>

    <DropShadowEffect x:Key="ShadowEffect"
                      Color="Black"
                      BlurRadius="6"
                      ShadowDepth="0"
                      Opacity="0.3" />

    <Style x:Key="ModernToggleButtonStyle"
           TargetType="ToggleButton">
        <Setter Property="Background"
                Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1BackgroundBrush}}" />
        <Setter Property="BorderBrush"
                Value="{DynamicResource {x:Static adonisUi:Brushes.Layer3BackgroundBrush}}" />
        <Setter Property="BorderThickness"
                Value="1" />
        <Setter Property="Padding"
                Value="4" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ToggleButton">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}"
                            CornerRadius="8"
                            Padding="{TemplateBinding Padding}">
                        <ContentPresenter HorizontalAlignment="Center"
                                          VerticalAlignment="Center" />
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsChecked"
                                 Value="True">
                            <Setter Property="Background"
                                    Value="{DynamicResource {x:Static adonisUi:Brushes.AccentBrush}}" />
                        </Trigger>
                        <Trigger Property="IsMouseOver"
                                 Value="True">
                            <Setter Property="Background"
                                    Value="{DynamicResource {x:Static adonisUi:Brushes.Layer3BackgroundBrush}}" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="AssetsExplorerToggleButtonStyle"
           TargetType="ToggleButton">
        <Setter Property="Background"
                Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1BackgroundBrush}}" />
        <Setter Property="BorderBrush"
                Value="{DynamicResource {x:Static adonisUi:Brushes.Layer3BackgroundBrush}}" />
        <Setter Property="BorderThickness"
                Value="1" />
        <Setter Property="Padding"
                Value="4" />
        <Setter Property="ToolTip">
            <Setter.Value>
                <ToolTip Content="{Binding SwitchAssetExplorer, Source={x:Static settings:UserSettings.Default}}"
                         ContentStringFormat="Assets Explorer ({0})" />
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ToggleButton">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}"
                            CornerRadius="8">
                        <Viewbox Width="18"
                                 Height="18">
                            <Canvas Width="24"
                                    Height="24">
                                <Path x:Name="IconPath"
                                      Data="{StaticResource FolderIconAlt}"
                                      Fill="{DynamicResource {x:Static adonisUi:Brushes.ForegroundBrush}}" />
                            </Canvas>
                        </Viewbox>
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsChecked"
                                 Value="True">
                            <Setter TargetName="IconPath"
                                    Property="Data"
                                    Value="{StaticResource FolderIconAlt}" />
                            <Setter Property="Background"
                                    Value="{DynamicResource {x:Static adonisUi:Brushes.AccentBrush}}" />
                        </Trigger>
                        <Trigger Property="IsChecked"
                                 Value="False">
                            <Setter TargetName="IconPath"
                                    Property="Data"
                                    Value="{StaticResource AssetIcon}" />
                            <Setter Property="Background"
                                    Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1BackgroundBrush}}" />
                        </Trigger>
                        <Trigger Property="IsChecked"
                                 Value="False">
                            <Setter TargetName="IconPath"
                                    Property="Data"
                                    Value="{StaticResource AssetIcon}" />
                            <Setter Property="Background"
                                    Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1BackgroundBrush}}" />
                            <Setter Property="ToolTip">
                                <Setter.Value>
                                    <ToolTip Content="{Binding SwitchAssetExplorer, Source={x:Static settings:UserSettings.Default}}"
                                             ContentStringFormat="File Properties ({0})" />
                                </Setter.Value>
                            </Setter>
                        </Trigger>
                        <Trigger Property="IsMouseOver"
                                 Value="True">
                            <Setter Property="Background"
                                    Value="{DynamicResource {x:Static adonisUi:Brushes.Layer3BackgroundBrush}}" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <!-- Just to keep border color during toggle -->
    <Style x:Key="ExplorerViewToggleButton"
           TargetType="{x:Type ToggleButton}"
           BasedOn="{StaticResource {x:Type ToggleButton}}">
        <Setter Property="Width"
                Value="32" />
        <Setter Property="Height"
                Value="28" />
        <Setter Property="Padding"
                Value="7" />
        <Setter Property="BorderThickness"
                Value="1" />
        <Setter Property="BorderBrush"
                Value="{DynamicResource {x:Static adonisUi:Brushes.Layer0BorderBrush}}" />
        <Style.Triggers>
            <Trigger Property="IsChecked"
                     Value="True">
                <Setter Property="BorderBrush"
                        Value="{DynamicResource {x:Static adonisUi:Brushes.Layer1InteractionBorderBrush}}" />
            </Trigger>
        </Style.Triggers>
    </Style>

</ResourceDictionary>
