<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:options="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options"
             xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
             xmlns:Custom="BetterWpfControls"
             xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
             xmlns:Themes1="clr-namespace:Xceed.Wpf.Toolkit.Themes;assembly=Xceed.Wpf.Toolkit"
             x:Class="LunarSF.SHomeWorkshop.LunarMarkdownEditor.App"
             StartupUri="MainWindow.xaml"
             Startup="Application_Startup"
             DispatcherUnhandledException="Application_DispatcherUnhandledException">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.ComboBox.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.Buttons.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/FlatButton.xaml" />-->
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />-->
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Brown.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />

                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.TreeView.xaml" />
                
                <!--MahMetro的菜单样式有Bug:在Win10的专业版和家庭版中位置表现不一。-->
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.ContextMenu.xaml" />
                
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />-->
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/Button.xaml" />-->
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/Colors.xaml" />-->
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/ListBox.xaml" />-->
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/Menu.xaml" />-->
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/ScrollBar.xaml" />-->
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/TabControl.xaml" />-->
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/TextBox.xaml" />-->
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/VS/Window.xaml" />-->
            </ResourceDictionary.MergedDictionaries>

            <!--改自MahApps.Metro.Control.Xaml-->

            <!-- *************BRUSHES START************* -->
            <!--PROJECT TEMPLATE BRUSHES -->

            <!--BASE COLORS-->
            <Color x:Key="BlackColor">#FF000000</Color>
            <Color x:Key="WhiteColor">#FFFFFFFF</Color>
            <Color x:Key="Gray1">#FF333333</Color>
            <Color x:Key="Gray2">#FF7F7F7F</Color>
            <Color x:Key="Gray3">#FF9D9D9D</Color>
            <Color x:Key="Gray4">#FFA59F93</Color>
            <Color x:Key="Gray5">#FFB9B9B9</Color>
            <Color x:Key="Gray6">#FFCCCCCC</Color>
            <Color x:Key="Gray7">#FFD8D8D9</Color>
            <Color x:Key="Gray8">#FFE0E0E0</Color>
            <Color x:Key="Gray9">#5EC9C9C9</Color>
            <Color x:Key="Gray10">#FFF7F7F7</Color>

            <!-- CORE CONTROL COLORS-->
            <Color x:Key="ProgressIndeterminateColor1">#33878787</Color>
            <Color x:Key="ProgressIndeterminateColor2">#33959595</Color>
            <Color x:Key="ProgressIndeterminateColor3">#4C000000</Color>
            <Color x:Key="ProgressIndeterminateColor4">#4C000000</Color>

            <!-- UNIVERSAL CONTROL BRUSHES -->
            <SolidColorBrush x:Key="ControlBackgroundBrush"
                             Color="{DynamicResource WhiteColor}" />
            <SolidColorBrush x:Key="WhiteBrush"
                             Color="{DynamicResource WhiteColor}" />
            <SolidColorBrush x:Key="BlackBrush"
                             Color="{DynamicResource BlackColor}" />
            <SolidColorBrush x:Key="TextBrush"
                             Color="{DynamicResource BlackColor}" />
            <SolidColorBrush x:Key="LabelTextBrush"
                             Color="{DynamicResource BlackColor}" />
            <SolidColorBrush x:Key="WhiteColorBrush"
                             Color="{DynamicResource WhiteColor}" />
            <SolidColorBrush x:Key="BlackColorBrush"
                             Color="{DynamicResource BlackColor}" />

            <SolidColorBrush x:Key="WindowTitleColorBrush"
                             Color="{DynamicResource AccentColor}" />
            <SolidColorBrush x:Key="HighlightBrush"
                             Color="{DynamicResource HighlightColor}" />
            <SolidColorBrush x:Key="DisabledWhiteBrush"
                             Color="{DynamicResource WhiteColor}" />

            <SolidColorBrush x:Key="TransparentWhiteBrush"
                             Color="#00FFFFFF" />
            <SolidColorBrush x:Key="SemiTransparentWhiteBrush"
                             Color="#55FFFFFF" />
            <SolidColorBrush x:Key="SemiTransparentGreyBrush"
                             Color="#40808080" />
            <SolidColorBrush x:Key="ControlsDisabledBrush"
                             Color="#A5FFFFFF" />

            <SolidColorBrush x:Key="AccentColorBrush"
                             Color="{DynamicResource AccentColor}" />
            <SolidColorBrush x:Key="AccentColorBrush2"
                             Color="{DynamicResource AccentColor2}" />
            <SolidColorBrush x:Key="AccentColorBrush3"
                             Color="{DynamicResource AccentColor3}" />
            <SolidColorBrush x:Key="AccentColorBrush4"
                             Color="{DynamicResource AccentColor4}" />

            <SolidColorBrush x:Key="GrayBrush1"
                             Color="{DynamicResource Gray1}" />
            <SolidColorBrush x:Key="GrayBrush2"
                             Color="{DynamicResource Gray2}" />
            <SolidColorBrush x:Key="GrayBrush3"
                             Color="{DynamicResource Gray3}" />
            <SolidColorBrush x:Key="GrayBrush4"
                             Color="{DynamicResource Gray4}" />
            <SolidColorBrush x:Key="GrayBrush5"
                             Color="{DynamicResource Gray5}" />
            <SolidColorBrush x:Key="GrayBrush6"
                             Color="{DynamicResource Gray6}" />
            <SolidColorBrush x:Key="GrayBrush7"
                             Color="{DynamicResource Gray7}" />
            <SolidColorBrush x:Key="GrayBrush8"
                             Color="{DynamicResource Gray8}" />
            <SolidColorBrush x:Key="GrayBrush9"
                             Color="{DynamicResource Gray9}" />
            <SolidColorBrush x:Key="GrayBrush10"
                             Color="{DynamicResource Gray10}" />

            <SolidColorBrush x:Key="TextBoxBorderBrush"
                             Color="{DynamicResource Gray6}" />
            <SolidColorBrush x:Key="ControlBorderBrush"
                             Color="{DynamicResource Gray6}" />
            <SolidColorBrush x:Key="TextBoxMouseOverInnerBorderBrush"
                             Color="{DynamicResource BlackColor}" />
            <SolidColorBrush x:Key="TextBoxFocusBorderBrush"
                             Color="{DynamicResource BlackColor}" />
            <SolidColorBrush x:Key="TextBoxMouseOverBorderBrush"
                             Color="{DynamicResource Gray2}" />

            <SolidColorBrush x:Key="ButtonMouseOverBorderBrush"
                             Color="{DynamicResource BlackColor}" />
            <SolidColorBrush x:Key="ButtonMouseOverInnerBorderBrush"
                             Color="{DynamicResource BlackColor}" />
            <SolidColorBrush x:Key="ComboBoxMouseOverBorderBrush"
                             Color="{DynamicResource BlackColor}" />
            <SolidColorBrush x:Key="ComboBoxMouseOverInnerBorderBrush"
                             Color="{DynamicResource BlackColor}" />

            <SolidColorBrush x:Key="CheckBoxBrush"
                             Color="{DynamicResource Gray6}" />
            <SolidColorBrush x:Key="CheckBoxMouseOverBrush"
                             Color="{DynamicResource Gray2}" />
            <LinearGradientBrush x:Key="CheckBoxBackgroundBrush"
                                 EndPoint="0.5,1"
                                 StartPoint="0.5,0">
                <GradientStop Color="{DynamicResource Gray7}"
                              Offset="0" />
                <GradientStop Color="{DynamicResource WhiteColor}"
                              Offset="1" />
            </LinearGradientBrush>

            <SolidColorBrush x:Key="MenuItemDisabledBrush"
                             Color="{DynamicResource Gray3}" />

            <SolidColorBrush x:Key="ThumbBrush"
                             Color="{DynamicResource Gray5}" />

            <SolidColorBrush x:Key="ComboBoxPopupBrush"
                             Color="{DynamicResource Gray4}" />

            <LinearGradientBrush x:Key="ProgressBrush"
                                 EndPoint="0.001,0.5"
                                 StartPoint="1.002,0.5">
                <GradientStop Color="{DynamicResource HighlightColor}"
                              Offset="0" />
                <GradientStop Color="{DynamicResource AccentColor3}"
                              Offset="1" />
            </LinearGradientBrush>

            <DropShadowEffect x:Key="DropShadowBrush"
                              Direction="330"
                              Opacity="0.3"
                              ShadowDepth="0"
                              BlurRadius="6" />

            <SolidColorBrush x:Key="WindowBackgroundBrush"
                             Color="{DynamicResource WhiteColor}" />
            <SolidColorBrush x:Key="SeperatorBrush"
                             Color="#FFC4C4C5" />

            <SolidColorBrush x:Key="FlatButtonBackgroundBrush"
                             Color="#D5D5D5"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="FlatButtonForegroundBrush"
                             Color="#222222"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="FlatButtonPressedBackgroundBrush"
                             Color="#222222"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="FlatButtonPressedForegroundBrush"
                             Color="White"
                             options:Freeze="True" />

            <SolidColorBrush x:Key="DarkIdealForegroundDisabledBrush"
                             Color="#ADADAD"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="CleanWindowCloseButtonBackgroundBrush"
                             Color="#EB2F2F"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="CleanWindowCloseButtonPressedBackgroundBrush"
                             Color="#7C0000"
                             options:Freeze="True" />

            <!-- CONTROL VALIDATION BRUSHES -->
            <SolidColorBrush x:Key="ControlsValidationBrush"
                             Color="#FFDB000C"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="ValidationBrush1"
                             Color="#052A2E31"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="ValidationBrush2"
                             Color="#152A2E31"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="ValidationBrush3"
                             Color="#252A2E31"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="ValidationBrush4"
                             Color="#352A2E31"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="ValidationBrush5"
                             Color="#FFDC000C"
                             options:Freeze="True" />
            <!-- unused -->
            <SolidColorBrush x:Key="ValidationSummaryColor1"
                             Color="#FFDC020D"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="ValidationSummaryColor2"
                             Color="#FFCA000C"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="ValidationSummaryColor3"
                             Color="#FFFF9298"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="ValidationSummaryColor4"
                             Color="#FFFDC8C8"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="ValidationSummaryColor5"
                             Color="#DDD43940"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="ValidationSummaryFillColor1"
                             Color="#59F7D8DB"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="ValidationSummaryFillColor2"
                             Color="#FFF7D8DB"
                             options:Freeze="True" />
            <!-- validation text foreground always white -->
            <SolidColorBrush x:Key="ValidationTextBrush"
                             Color="White"
                             options:Freeze="True" />

            <!-- WPF default colors -->
            <SolidColorBrush x:Key="{x:Static SystemColors.WindowBrushKey}"
                             Color="{DynamicResource WhiteColor}" />
            <SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}"
                             Color="{DynamicResource BlackColor}" />

            <!-- original #FF9A9A9A" -->
            <SolidColorBrush x:Key="DisabledMenuItemForeground"
                             Color="{StaticResource Gray2}"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="DisabledMenuItemGlyphPanel"
                             Color="#848589"
                             options:Freeze="True" />

            <SolidColorBrush x:Key="{x:Static SystemColors.MenuTextBrushKey}"
                             Color="{StaticResource BlackColor}"
                             options:Freeze="True" />

            <Color x:Key="MenuShadowColor">#FF000000</Color>

            <Color x:Key="IdealForegroundColor">Black</Color>

            <!-- DataGrid brushes -->
            <SolidColorBrush x:Key="MetroDataGrid.HighlightBrush"
                             Color="{StaticResource AccentColor}"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="MetroDataGrid.DisabledHighlightBrush"
                             Color="{StaticResource Gray7}"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="MetroDataGrid.HighlightTextBrush"
                             Color="{StaticResource IdealForegroundColor}"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="MetroDataGrid.MouseOverHighlightBrush"
                             Color="{StaticResource AccentColor3}"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="MetroDataGrid.FocusBorderBrush"
                             Color="{StaticResource AccentColor}"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="MetroDataGrid.InactiveSelectionHighlightBrush"
                             Color="{StaticResource AccentColor2}"
                             options:Freeze="True" />
            <SolidColorBrush x:Key="MetroDataGrid.InactiveSelectionHighlightTextBrush"
                             Color="{StaticResource IdealForegroundColor}"
                             options:Freeze="True" />

            <!--End of MahApps.Metro.Controls.Xaml-->

            <ImageBrush x:Key="WindowBackground"
                        TileMode="Tile"
                        ImageSource="/Images/BackColor.png"
                        Stretch="Fill"
                        Viewport="0,0,4,4"
                        ViewportUnits="Absolute" />

            <ControlTemplate xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                             x:Key="CustomFrame"
                             TargetType="{x:Type Frame}">
                <Border BorderThickness="{TemplateBinding Border.BorderThickness}"
                        Padding="{TemplateBinding Padding}"
                        BorderBrush="{TemplateBinding Border.BorderBrush}"
                        Background="LightGray">
                    <!--Background="{TemplateBinding Panel.Background}"-->
                    <ContentPresenter Content="{TemplateBinding Content}"
                                      ContentTemplate="{TemplateBinding ContentTemplate}"
                                      ContentStringFormat="{TemplateBinding ContentStringFormat}"
                                      x:Name="PART_FrameCP" />
                </Border>
            </ControlTemplate>
            <Style x:Key="BetterTabItemStyle"
                   TargetType="{x:Type Custom:TabItem}">
                <Setter Property="FocusVisualStyle"
                        Value="{x:Null}" />
                <Setter Property="Foreground"
                        Value="Black" />
                <Setter Property="Padding"
                        Value="6,1" />
                <Setter Property="BorderBrush"
                        Value="#FF8C8E94" />
                <Setter Property="Background"
                        Value="#FFCDCDCD" />
                <Setter Property="HorizontalContentAlignment"
                        Value="Stretch" />
                <Setter Property="VerticalContentAlignment"
                        Value="Stretch" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type Custom:TabItem}">
                            <Grid SnapsToDevicePixels="True">
                                <Border x:Name="Bd"
                                        BorderBrush="{TemplateBinding BorderBrush}"
                                        BorderThickness="1,1,1,0"
                                        Background="{TemplateBinding Background}"
                                        Padding="{TemplateBinding Padding}">
                                    <ContentPresenter x:Name="Content"
                                                      ContentTemplate="{TemplateBinding HeaderTemplate}"
                                                      Content="{TemplateBinding Header}"
                                                      ContentStringFormat="{TemplateBinding HeaderStringFormat}"
                                                      ContentSource="Header"
                                                      HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type ItemsControl}}}"
                                                      RecognizesAccessKey="True"
                                                      SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                                      VerticalAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type ItemsControl}}}" />
                                </Border>
                            </Grid>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsMouseOver"
                                         Value="True">
                                    <Setter Property="Background"
                                            TargetName="Bd"
                                            Value="#FFD9F0FC" />
                                </Trigger>
                                <Trigger Property="IsSelected"
                                         Value="True">
                                    <Setter Property="Panel.ZIndex"
                                            Value="1" />
                                    <Setter Property="Background"
                                            TargetName="Bd"
                                            Value="#FFF9F9F9" />
                                </Trigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsSelected"
                                                   Value="False" />
                                        <Condition Property="IsMouseOver"
                                                   Value="True" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="BorderBrush"
                                            TargetName="Bd"
                                            Value="#FF3C7FB1" />
                                </MultiTrigger>
                                <Trigger Property="TabStripPlacement"
                                         Value="Bottom">
                                    <Setter Property="BorderThickness"
                                            TargetName="Bd"
                                            Value="1,0,1,1" />
                                </Trigger>
                                <Trigger Property="TabStripPlacement"
                                         Value="Left">
                                    <Setter Property="BorderThickness"
                                            TargetName="Bd"
                                            Value="1,1,0,1" />
                                </Trigger>
                                <Trigger Property="TabStripPlacement"
                                         Value="Right">
                                    <Setter Property="BorderThickness"
                                            TargetName="Bd"
                                            Value="0,1,1,1" />
                                </Trigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsSelected"
                                                   Value="True" />
                                        <Condition Property="TabStripPlacement"
                                                   Value="Top" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="Margin"
                                            Value="-2,-2,-2,-1" />
                                    <Setter Property="Margin"
                                            TargetName="Content"
                                            Value="0,0,0,1" />
                                </MultiTrigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsSelected"
                                                   Value="True" />
                                        <Condition Property="TabStripPlacement"
                                                   Value="Bottom" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="Margin"
                                            Value="-2,-1,-2,-2" />
                                    <Setter Property="Margin"
                                            TargetName="Content"
                                            Value="0,1,0,0" />
                                </MultiTrigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsSelected"
                                                   Value="True" />
                                        <Condition Property="TabStripPlacement"
                                                   Value="Left" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="Margin"
                                            Value="-2,-2,-1,-2" />
                                    <Setter Property="Margin"
                                            TargetName="Content"
                                            Value="0,0,1,0" />
                                </MultiTrigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsSelected"
                                                   Value="True" />
                                        <Condition Property="TabStripPlacement"
                                                   Value="Right" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="Margin"
                                            Value="-1,-2,-2,-2" />
                                    <Setter Property="Margin"
                                            TargetName="Content"
                                            Value="1,0,0,0" />
                                </MultiTrigger>
                                <Trigger Property="IsEnabled"
                                         Value="False">
                                    <Setter Property="Background"
                                            TargetName="Bd"
                                            Value="#FFF4F4F4" />
                                    <Setter Property="BorderBrush"
                                            TargetName="Bd"
                                            Value="#FFC9C7BA" />
                                    <Setter Property="Foreground"
                                            Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </ResourceDictionary>
    </Application.Resources>

    <JumpList.JumpList>
        <JumpList ShowRecentCategory="True" />
    </JumpList.JumpList>
</Application>