<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:tm="using:SearchUI.TemplateManager"
                    xmlns:sc="using:SearchUI.Controls"
                    x:Key="Shared.GridViewStyles_8_1_RTM">

    <ResourceDictionary.ThemeDictionaries>
        <ResourceDictionary x:Key="Default">
            <SolidColorBrush x:Key="Local.ImageThumbnailBackgroundBrush"
                             Color="#3B9B9B9B" />
            <!-- Accent color brush for Serp Selection borders -->
            <tm:SwitchCaseConverter x:Key="Local.SerpSelectionBorderBrushConverter"
                                    Default="{Binding Source={CustomResource ResultsCommonViewSource}, Path=AccentColorString0}">
                <tm:SwitchCase Case="Fallback"
                               Value="{ThemeResource ImmersiveLightSelectionBackgroundColor}" />
            </tm:SwitchCaseConverter>
            <SolidColorBrush x:Key="Local.SerpSelectionBorderBrush"
                             Color="{Binding Source={CustomResource ResultsCommonViewSource}, Path=AccentColorString0, Converter={StaticResource Local.SerpSelectionBorderBrushConverter}}" />

            <!-- Accent color brush for Hero selection color -->
            <tm:SwitchCaseConverter x:Key="Local.SaturatedSelectionAccentBrushConverter"
                                    Default="{Binding Source={CustomResource ResultsCommonViewSource}, Path=AccentColorString0}">
                <tm:SwitchCase Case="Fallback"
                               Value="{ThemeResource ImmersiveSaturatedSelectionBackgroundColor}" />
            </tm:SwitchCaseConverter>
            <SolidColorBrush x:Key="Local.SaturatedSelectionAccentBrush"
                             Color="{Binding Source={CustomResource ResultsCommonViewSource}, Path=AccentColorString0, Converter={StaticResource Local.SaturatedSelectionAccentBrushConverter}}" />

        </ResourceDictionary>
        <ResourceDictionary x:Key="HighContrast">
            <SolidColorBrush x:Key="Local.ImageThumbnailBackgroundBrush"
                             Color="{ThemeResource ImmersiveLightBackgroundColor}" />
            <SolidColorBrush x:Key="Local.SerpSelectionBorderBrush"
                             Color="{ThemeResource ImmersiveLightSelectionBackgroundColor}" />
            <SolidColorBrush x:Key="Local.SaturatedSelectionAccentBrush"
                             Color="{ThemeResource ImmersiveSaturatedSelectionBackgroundColor}" />
        </ResourceDictionary>
    </ResourceDictionary.ThemeDictionaries>

    <tm:SwitchCaseConverter x:Key="Resources.Shared.HorizontalScrollModeConverter"
                            Default="Disabled">
        <tm:SwitchCase Case="Horizontal">
            <tm:SwitchCase.Value>
                <ScrollMode>Enabled</ScrollMode>
            </tm:SwitchCase.Value>
        </tm:SwitchCase>
        <tm:SwitchCase Case="HorizontalLarge">
            <tm:SwitchCase.Value>
                <ScrollMode>Enabled</ScrollMode>
            </tm:SwitchCase.Value>
        </tm:SwitchCase>
    </tm:SwitchCaseConverter>

    <tm:SwitchCaseConverter x:Key="Resources.Shared.VerticalScrollModeConverter"
                            Default="Disabled">
        <tm:SwitchCase Case="Vertical">
            <tm:SwitchCase.Value>
                <ScrollMode>Enabled</ScrollMode>
            </tm:SwitchCase.Value>
        </tm:SwitchCase>
        <tm:SwitchCase Case="VerticalLarge">
            <tm:SwitchCase.Value>
                <ScrollMode>Enabled</ScrollMode>
            </tm:SwitchCase.Value>
        </tm:SwitchCase>
        <tm:SwitchCase Case="VerticalNarrow">
            <tm:SwitchCase.Value>
                <ScrollMode>Enabled</ScrollMode>
            </tm:SwitchCase.Value>
        </tm:SwitchCase>
    </tm:SwitchCaseConverter>

    <Style x:Key="Resources.Shared.ResultGridViewItemStyle"
           TargetType="GridViewItem">
        <Setter Property="HorizontalAlignment"
                Value="Stretch" />
        <Setter Property="VerticalAlignment"
                Value="Stretch" />
        <Setter Property="HorizontalContentAlignment"
                Value="Stretch" />
        <Setter Property="VerticalContentAlignment"
                Value="Stretch" />
        <Setter Property="TabNavigation"
                Value="Local" />
        <Setter Property="IsTabStop"
                Value="True" />
        <Setter Property="IsTapEnabled"
                Value="True" />
        <Setter Property="IsRightTapEnabled"
                Value="True" />
        <Setter Property="IsHoldingEnabled"
                Value="True" />
        <Setter Property="Margin"
                Value="0" />
        <Setter Property="Padding"
                Value="0" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="GridViewItem">
                    <GridViewItemPresenter ContentTransitions="{TemplateBinding ContentTransitions}"
                                           Margin="{TemplateBinding Padding}"
                                           ContentMargin="4"
                                           PointerOverBackgroundMargin="1"
                                           SelectionCheckMarkVisualEnabled="True"
                                           CheckHintBrush="{ThemeResource ImmersiveLightPrimaryTextBrush}"
                                           CheckSelectingBrush="{ThemeResource ImmersiveLightPrimaryTextBrush}"
                                           CheckBrush="{ThemeResource ImmersiveLightSelectionPrimaryTextBrush}"
                                           DragBackground="{x:Null}"
                                           DragForeground="{x:Null}"
                                           FocusBorderBrush="{ThemeResource ImmersiveControlLightFocusRectBrush}"
                                           PlaceholderBackground="{x:Null}"
                                           PointerOverBackground="{ThemeResource ImmersiveLightHoverBackgroundBrush}"
                                           SelectedBorderThickness="{TemplateBinding BorderThickness}"
                                           SelectedBackground="{ThemeResource Local.SerpSelectionBorderBrush}"
                                           SelectedForeground="{ThemeResource ImmersiveLightPrimaryTextBrush}"
                                           SelectedPointerOverBackground="{ThemeResource Local.SerpSelectionBorderBrush}"
                                           SelectedPointerOverBorderBrush="{ThemeResource Local.SerpSelectionBorderBrush}"
                                           DisabledOpacity="1"
                                           DragOpacity="1"
                                           ReorderHintOffset="0"
                                           HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                           VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="Resources.Shared.NestedGridViewItemStyle"
           TargetType="GridViewItem"
           BasedOn="{StaticResource Resources.Shared.ResultGridViewItemStyle}">
        <Setter Property="Background"
                Value="{ThemeResource ImmersiveLightBackgroundBrush}" />
        <Setter Property="BorderThickness"
                Value="4" />
    </Style>

    <Style x:Key="Resources.Shared.SaturatedNestedGridViewItemStyle"
           TargetType="GridViewItem"
           BasedOn="{StaticResource Resources.Shared.NestedGridViewItemStyle}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="GridViewItem">
                    <GridViewItemPresenter ContentTransitions="{TemplateBinding ContentTransitions}"
                                           Margin="{TemplateBinding Padding}"
                                           ContentMargin="4"
                                           PointerOverBackgroundMargin="1"
                                           SelectionCheckMarkVisualEnabled="True"
                                           CheckHintBrush="{ThemeResource ImmersiveSaturatedPrimaryTextBrush}"
                                           CheckSelectingBrush="{ThemeResource ImmersiveSaturatedPrimaryTextBrush}"
                                           CheckBrush="{ThemeResource ImmersiveSaturatedSelectionPrimaryTextBrush}"
                                           DragBackground="{x:Null}"
                                           DragForeground="{x:Null}"
                                           FocusBorderBrush="{ThemeResource ImmersiveControlDarkFocusRectBrush}"
                                           PlaceholderBackground="{x:Null}"
                                           PointerOverBackground="{ThemeResource ImmersiveControlDarkButtonBackgroundHoverBrush}"
                                           SelectedBorderThickness="{TemplateBinding BorderThickness}"
                                           SelectedBackground="{ThemeResource Local.SaturatedSelectionAccentBrush}"
                                           SelectedForeground="{ThemeResource ImmersiveSaturatedPrimaryTextBrush}"
                                           SelectedPointerOverBackground="{ThemeResource Local.SaturatedSelectionAccentBrush}"
                                           SelectedPointerOverBorderBrush="{ThemeResource Local.SaturatedSelectionAccentBrush}"
                                           DisabledOpacity="1"
                                           DragOpacity="1"
                                           ReorderHintOffset="0"
                                           HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                           VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="Background"
                Value="{x:Null}" />
        <Setter Property="BorderThickness"
                Value="0" />
    </Style>

    <Style x:Key="Resources.Shared.SuppressedGridViewItemStyle"
           TargetType="GridViewItem"
           BasedOn="{StaticResource Resources.Shared.ResultGridViewItemStyle}">
        <Setter Property="Background"
                Value="{x:Null}" />
        <Setter Property="BorderThickness"
                Value="0" />
        <Setter Property="IsTabStop"
                Value="False" />
        <Setter Property="IsTapEnabled"
                Value="False" />
        <Setter Property="IsRightTapEnabled"
                Value="False" />
        <Setter Property="IsHoldingEnabled"
                Value="False" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="GridViewItem">
                    <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                      VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                      Margin="{TemplateBinding Padding}" />
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="Local.EmptyScrollViewerStyle"
           TargetType="ScrollViewer">
        <Setter Property="Padding"
                Value="0" />
        <Setter Property="HorizontalAlignment"
                Value="Stretch" />
        <Setter Property="VerticalAlignment"
                Value="Stretch" />
        <Setter Property="BorderThickness"
                Value="0" />
        <Setter Property="BorderBrush"
                Value="Transparent" />
        <Setter Property="Background"
                Value="Transparent" />
        <Setter Property="TabNavigation"
                Value="Local" />
        <Setter Property="HorizontalScrollBarVisibility"
                Value="Disabled" />
        <Setter Property="VerticalScrollBarVisibility"
                Value="Disabled" />
        <Setter Property="HorizontalScrollMode"
                Value="Enabled" />
        <Setter Property="VerticalScrollMode"
                Value="Disabled" />
        <Setter Property="IsHorizontalRailEnabled"
                Value="False" />
        <Setter Property="IsVerticalRailEnabled"
                Value="False" />
        <Setter Property="IsHorizontalScrollChainingEnabled"
                Value="True" />
        <Setter Property="IsVerticalScrollChainingEnabled"
                Value="True" />
        <Setter Property="IsTabStop"
                Value="False" />
        <Setter Property="ZoomMode"
                Value="Disabled" />
        <Setter Property="IsDeferredScrollingEnabled"
                Value="False" />
        <Setter Property="BringIntoViewOnFocusChange"
                Value="True" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ScrollViewer">
                    <ScrollContentPresenter x:Name="ScrollContentPresenter"
                                            ContentTemplate="{TemplateBinding ContentTemplate}"
                                            Margin="{TemplateBinding Padding}" />
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="Resources.Shared.NestedGridViewStyle"
           TargetType="GridView">
        <Setter Property="Padding"
                Value="0" />
        <Setter Property="IsTabStop"
                Value="False" />
        <Setter Property="TabNavigation"
                Value="Local" />
        <Setter Property="HorizontalContentAlignment"
                Value="Stretch" />
        <Setter Property="VerticalContentAlignment"
                Value="Stretch" />
        <Setter Property="HorizontalAlignment"
                Value="Stretch" />
        <Setter Property="VerticalAlignment"
                Value="Stretch" />
        <Setter Property="ScrollViewer.HorizontalScrollMode"
                Value="Enabled" />
        <Setter Property="ScrollViewer.VerticalScrollMode"
                Value="Disabled" />
        <Setter Property="IsSwipeEnabled"
                Value="True" />
        <Setter Property="SelectionMode"
                Value="Multiple" />
        <Setter Property="IsTapEnabled"
                Value="True" />
        <Setter Property="CanDragItems"
                Value="False" />
        <Setter Property="CanReorderItems"
                Value="False" />
        <Setter Property="IsItemClickEnabled"
                Value="True" />
        <Setter Property="ItemContainerTransitions">
            <Setter.Value>
                <TransitionCollection />
            </Setter.Value>
        </Setter>
        <Setter Property="ItemContainerStyle"
                Value="{StaticResource Resources.Shared.NestedGridViewItemStyle}" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="GridView">
                    <ScrollViewer x:Name="ScrollViewer"
                                  Style="{StaticResource Local.EmptyScrollViewerStyle}"
                                  HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}"
                                  VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}">
                        <ItemsPresenter Padding="{TemplateBinding Padding}" />
                    </ScrollViewer>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="Resources.Shared.SaturatedNestedGridViewStyle"
           TargetType="GridView"
           BasedOn="{StaticResource Resources.Shared.NestedGridViewStyle}">
        <Setter Property="ItemContainerStyle"
                Value="{StaticResource Resources.Shared.SaturatedNestedGridViewItemStyle}" />
    </Style>

    <Style x:Key="Resources.Shared.NoSelectionNestedGridViewStyle"
           TargetType="GridView"
           BasedOn="{StaticResource Resources.Shared.NestedGridViewStyle}">
        <Setter Property="SelectionMode"
                Value="None" />
        <Setter Property="ScrollViewer.HorizontalScrollMode"
                Value="Disabled" />
        <Setter Property="ScrollViewer.VerticalScrollMode"
                Value="Disabled" />
    </Style>

    <Style x:Key="Resources.Shared.HorizontalModeNestedGridViewStyle"
           TargetType="GridView"
           BasedOn="{StaticResource Resources.Shared.NestedGridViewStyle}">
        <Setter Property="ScrollViewer.HorizontalScrollMode"
                Value="Enabled" />
        <Setter Property="ScrollViewer.VerticalScrollMode"
                Value="Disabled" />
    </Style>

    <Style x:Key="Resources.Shared.VerticalModeNestedGridViewStyle"
           TargetType="GridView"
           BasedOn="{StaticResource Resources.Shared.NestedGridViewStyle}">
        <Setter Property="ScrollViewer.HorizontalScrollMode"
                Value="Disabled" />
        <Setter Property="ScrollViewer.VerticalScrollMode"
                Value="Enabled" />
    </Style>

    <Style x:Key="Resources.Shared.NoSelectionHorizontalNestedGridViewStyle"
           TargetType="GridView"
           BasedOn="{StaticResource Resources.Shared.HorizontalModeNestedGridViewStyle}">
        <Setter Property="SelectionMode"
                Value="None" />
    </Style>

    <Style x:Key="Resources.Shared.NoSelectionVerticalNestedGridViewStyle"
           TargetType="GridView"
           BasedOn="{StaticResource Resources.Shared.VerticalModeNestedGridViewStyle}">
        <Setter Property="SelectionMode"
                Value="None" />
    </Style>

    <Style x:Key="Resources.Shared.NoSelectionSaturatedNestedGridViewStyle"
           TargetType="GridView"
           BasedOn="{StaticResource Resources.Shared.SaturatedNestedGridViewStyle}">
        <Setter Property="SelectionMode"
                Value="None" />
        <Setter Property="ScrollViewer.HorizontalScrollMode"
                Value="Disabled" />
        <Setter Property="ScrollViewer.VerticalScrollMode"
                Value="Disabled" />
    </Style>

    <Style x:Key="Resources.Shared.ActionItemStyle"
           TargetType="sc:ResultGridViewItem"
           BasedOn="{StaticResource Resources.Shared.SaturatedNestedGridViewItemStyle}">
        <Setter Property="Margin"
                Value="0" />
        <Setter Property="ActivationOverridePath"
                Value="Extended:activation.System_ConnectedSearch_ActivateCommand" />
        <Setter Property="tm:SetterBinding.Setters">
            <Setter.Value>
                <SetterBaseCollection>
                    <Setter Property="AutomationProperties.Name">
                        <Setter.Value>
                            <tm:SetterBinding Path="Extended:text.System_Search_Contents" />
                        </Setter.Value>
                    </Setter>
                </SetterBaseCollection>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="Resources.Shared.ImageCollageBackgroundStyle"
           TargetType="Grid">
        <Setter Property="Background"
                Value="{ThemeResource Local.ImageThumbnailBackgroundBrush}" />
    </Style>

    <Style x:Key="Resources.Shared.ImageCollage"
           TargetType="ContentControl">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ContentControl">
                    <ItemsControl ItemsSource="{Binding Extended:image}">
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <Canvas Width="{Binding Extended:width}"
                                        Height="{Binding Extended:height}"
                                        Background="{ThemeResource Local.ImageThumbnailBackgroundBrush}"/>
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                        <ItemsControl.ItemTemplate>
                            <DataTemplate>
                                <Button Style="{CustomResource Resources.Shared.ImageButtonStyle}"
                                        Command="{Binding System_ConnectedSearch_ActivateCommand}"
                                        Margin="{Binding Extended:thumbnail.Extended:pos}"/>
                            </DataTemplate>
                        </ItemsControl.ItemTemplate>
                    </ItemsControl>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

</ResourceDictionary>