1<!--
2//*********************************************************
3//
4// Copyright (c) Microsoft. All rights reserved.
5// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
6// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
7// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
8// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
9//
10//*********************************************************
11-->
12
13<ResourceDictionary
14    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
15    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
16
17    <!-- Non-brush values that vary across themes -->
18
19    <ResourceDictionary.ThemeDictionaries>
20        <ResourceDictionary x:Key="Default">
21            <x:String x:Key="BackButtonGlyph">&#xE071;</x:String>
22            <x:String x:Key="BackButtonSnappedGlyph">&#xE0BA;</x:String>
23        </ResourceDictionary>
24
25        <ResourceDictionary x:Key="HighContrast">
26            <x:String x:Key="BackButtonGlyph">&#xE0A6;</x:String>
27            <x:String x:Key="BackButtonSnappedGlyph">&#xE0C4;</x:String>
28        </ResourceDictionary>
29    </ResourceDictionary.ThemeDictionaries>
30
31    <!-- RichTextBlock styles -->
32
33    <Style x:Key="BasicRichTextStyle" TargetType="RichTextBlock">
34        <Setter Property="Foreground" Value="{StaticResource ApplicationForegroundThemeBrush}"/>
35        <Setter Property="FontSize" Value="{StaticResource ControlContentThemeFontSize}"/>
36        <Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/>
37        <Setter Property="TextTrimming" Value="WordEllipsis"/>
38        <Setter Property="TextWrapping" Value="Wrap"/>
39        <Setter Property="Typography.StylisticSet20" Value="True"/>
40        <Setter Property="Typography.DiscretionaryLigatures" Value="True"/>
41    </Style>
42
43    <Style x:Key="BaselineRichTextStyle" TargetType="RichTextBlock" BasedOn="{StaticResource BasicRichTextStyle}">
44        <Setter Property="LineHeight" Value="20"/>
45        <Setter Property="LineStackingStrategy" Value="BlockLineHeight"/>
46        <!-- Properly align text along its baseline -->
47        <Setter Property="RenderTransform">
48            <Setter.Value>
49                <TranslateTransform X="-1" Y="4"/>
50            </Setter.Value>
51        </Setter>
52    </Style>
53
54    <Style x:Key="ItemRichTextStyle" TargetType="RichTextBlock" BasedOn="{StaticResource BaselineRichTextStyle}"/>
55
56    <Style x:Key="BodyRichTextStyle" TargetType="RichTextBlock" BasedOn="{StaticResource BaselineRichTextStyle}">
57        <Setter Property="FontWeight" Value="SemiLight"/>
58    </Style>
59
60    <!-- TextBlock styles -->
61
62    <Style x:Key="BasicTextStyle" TargetType="TextBlock">
63        <Setter Property="Foreground" Value="{StaticResource ApplicationForegroundThemeBrush}"/>
64        <Setter Property="FontSize" Value="{StaticResource ControlContentThemeFontSize}"/>
65        <Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/>
66        <Setter Property="TextTrimming" Value="WordEllipsis"/>
67        <Setter Property="TextWrapping" Value="Wrap"/>
68        <Setter Property="Typography.StylisticSet20" Value="True"/>
69        <Setter Property="Typography.DiscretionaryLigatures" Value="True"/>
70    </Style>
71
72    <Style x:Key="BaselineTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BasicTextStyle}">
73        <Setter Property="LineHeight" Value="20"/>
74        <Setter Property="LineStackingStrategy" Value="BlockLineHeight"/>
75        <!-- Properly align text along its baseline -->
76        <Setter Property="RenderTransform">
77            <Setter.Value>
78                <TranslateTransform X="-1" Y="4"/>
79            </Setter.Value>
80        </Setter>
81    </Style>
82
83    <Style x:Key="HeaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
84        <Setter Property="FontSize" Value="56"/>
85        <Setter Property="FontWeight" Value="Light"/>
86        <Setter Property="LineHeight" Value="40"/>
87        <Setter Property="RenderTransform">
88            <Setter.Value>
89                <TranslateTransform X="-2" Y="8"/>
90            </Setter.Value>
91        </Setter>
92    </Style>
93
94    <Style x:Key="SubheaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
95        <Setter Property="FontSize" Value="26.667"/>
96        <Setter Property="FontWeight" Value="Light"/>
97        <Setter Property="LineHeight" Value="30"/>
98        <Setter Property="RenderTransform">
99            <Setter.Value>
100                <TranslateTransform X="-1" Y="6"/>
101            </Setter.Value>
102        </Setter>
103    </Style>
104
105    <Style x:Key="TitleTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
106        <Setter Property="FontWeight" Value="SemiBold"/>
107    </Style>
108
109    <Style x:Key="ItemTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}"/>
110
111    <Style x:Key="BodyTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
112        <Setter Property="FontWeight" Value="SemiLight"/>
113    </Style>
114
115    <Style x:Key="CaptionTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
116        <Setter Property="FontSize" Value="12"/>
117        <Setter Property="Foreground" Value="{StaticResource ApplicationSecondaryForegroundThemeBrush}"/>
118    </Style>
119
120    <!-- Button styles -->
121
122    <!--
123        TextButtonStyle is used to style a Button using subheader-styled text with no other adornment.  This
124        style is used in the GroupedItemsPage as a group header and in the FileOpenPickerPage for triggering
125        commands.
126    -->
127    <Style x:Key="TextButtonStyle" TargetType="Button">
128        <Setter Property="MinWidth" Value="0"/>
129        <Setter Property="MinHeight" Value="0"/>
130        <Setter Property="Template">
131            <Setter.Value>
132                <ControlTemplate TargetType="Button">
133                    <Grid Background="Transparent">
134                        <TextBlock
135                            x:Name="Text"
136                            Text="{TemplateBinding Content}"
137                            Margin="3,-7,3,10"
138                            TextWrapping="NoWrap"
139                            Style="{StaticResource SubheaderTextStyle}"/>
140                        <Rectangle
141                            x:Name="FocusVisualWhite"
142                            IsHitTestVisible="False"
143                            Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
144                            StrokeEndLineCap="Square"
145                            StrokeDashArray="1,1"
146                            Opacity="0"
147                            StrokeDashOffset="1.5"/>
148                        <Rectangle
149                            x:Name="FocusVisualBlack"
150                            IsHitTestVisible="False"
151                            Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
152                            StrokeEndLineCap="Square"
153                            StrokeDashArray="1,1"
154                            Opacity="0"
155                            StrokeDashOffset="0.5"/>
156
157                        <VisualStateManager.VisualStateGroups>
158                            <VisualStateGroup x:Name="CommonStates">
159                                <VisualState x:Name="Normal"/>
160                                <VisualState x:Name="PointerOver">
161                                    <Storyboard>
162                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
163                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationPointerOverForegroundThemeBrush}"/>
164                                        </ObjectAnimationUsingKeyFrames>
165                                    </Storyboard>
166                                </VisualState>
167                                <VisualState x:Name="Pressed">
168                                    <Storyboard>
169                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
170                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationPressedForegroundThemeBrush}"/>
171                                        </ObjectAnimationUsingKeyFrames>
172                                    </Storyboard>
173                                </VisualState>
174                                <VisualState x:Name="Disabled">
175                                    <Storyboard>
176                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
177                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ButtonDisabledForegroundThemeBrush}"/>
178                                        </ObjectAnimationUsingKeyFrames>
179                                    </Storyboard>
180                                </VisualState>
181                            </VisualStateGroup>
182                            <VisualStateGroup x:Name="FocusStates">
183                                <VisualState x:Name="Focused">
184                                    <Storyboard>
185                                        <DoubleAnimation Duration="0" To="1" Storyboard.TargetName="FocusVisualWhite" Storyboard.TargetProperty="Opacity"/>
186                                        <DoubleAnimation Duration="0" To="1" Storyboard.TargetName="FocusVisualBlack" Storyboard.TargetProperty="Opacity"/>
187                                    </Storyboard>
188                                </VisualState>
189                                <VisualState x:Name="Unfocused"/>
190                            </VisualStateGroup>
191                        </VisualStateManager.VisualStateGroups>
192                    </Grid>
193                </ControlTemplate>
194            </Setter.Value>
195        </Setter>
196    </Style>
197
198    <!--
199        TextRadioButtonStyle is used to style a RadioButton using subheader-styled text with no other adornment.
200        This style is used in the SearchResultsPage to allow selection among filters.
201    -->
202    <Style x:Key="TextRadioButtonStyle" TargetType="RadioButton">
203        <Setter Property="MinWidth" Value="0"/>
204        <Setter Property="MinHeight" Value="0"/>
205        <Setter Property="Template">
206            <Setter.Value>
207                <ControlTemplate TargetType="RadioButton">
208                    <Grid Background="Transparent">
209                        <TextBlock
210                            x:Name="Text"
211                            Text="{TemplateBinding Content}"
212                            Margin="3,-7,3,10"
213                            TextWrapping="NoWrap"
214                            Style="{StaticResource SubheaderTextStyle}"/>
215                        <Rectangle
216                            x:Name="FocusVisualWhite"
217                            IsHitTestVisible="False"
218                            Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
219                            StrokeEndLineCap="Square"
220                            StrokeDashArray="1,1"
221                            Opacity="0"
222                            StrokeDashOffset="1.5"/>
223                        <Rectangle
224                            x:Name="FocusVisualBlack"
225                            IsHitTestVisible="False"
226                            Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
227                            StrokeEndLineCap="Square"
228                            StrokeDashArray="1,1"
229                            Opacity="0"
230                            StrokeDashOffset="0.5"/>
231
232                        <VisualStateManager.VisualStateGroups>
233                            <VisualStateGroup x:Name="CommonStates">
234                                <VisualState x:Name="Normal"/>
235                                <VisualState x:Name="PointerOver">
236                                    <Storyboard>
237                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
238                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationPointerOverForegroundThemeBrush}"/>
239                                        </ObjectAnimationUsingKeyFrames>
240                                    </Storyboard>
241                                </VisualState>
242                                <VisualState x:Name="Pressed">
243                                    <Storyboard>
244                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
245                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationPressedForegroundThemeBrush}"/>
246                                        </ObjectAnimationUsingKeyFrames>
247                                    </Storyboard>
248                                </VisualState>
249                                <VisualState x:Name="Disabled">
250                                    <Storyboard>
251                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
252                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ButtonDisabledForegroundThemeBrush}"/>
253                                        </ObjectAnimationUsingKeyFrames>
254                                    </Storyboard>
255                                </VisualState>
256                            </VisualStateGroup>
257                            <VisualStateGroup x:Name="FocusStates">
258                                <VisualState x:Name="Focused">
259                                    <Storyboard>
260                                        <DoubleAnimation Duration="0" To="1" Storyboard.TargetName="FocusVisualWhite" Storyboard.TargetProperty="Opacity"/>
261                                        <DoubleAnimation Duration="0" To="1" Storyboard.TargetName="FocusVisualBlack" Storyboard.TargetProperty="Opacity"/>
262                                    </Storyboard>
263                                </VisualState>
264                                <VisualState x:Name="Unfocused"/>
265                            </VisualStateGroup>
266                            <VisualStateGroup x:Name="CheckStates">
267                                <VisualState x:Name="Checked"/>
268                                <VisualState x:Name="Unchecked">
269                                    <Storyboard>
270                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
271                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationSecondaryForegroundThemeBrush}"/>
272                                        </ObjectAnimationUsingKeyFrames>
273                                    </Storyboard>
274                                </VisualState>
275                                <VisualState x:Name="Indeterminate"/>
276                            </VisualStateGroup>
277                        </VisualStateManager.VisualStateGroups>
278                    </Grid>
279                </ControlTemplate>
280            </Setter.Value>
281        </Setter>
282    </Style>
283
284    <!--
285        AppBarButtonStyle is used to style a Button for use in an App Bar.  Content will be centered and should fit within
286        the 40-pixel radius glyph provided.  16-point Segoe UI Symbol is used for content text to simplify the use of glyphs
287        from that font.  AutomationProperties.Name is used for the text below the glyph.
288    -->
289    <Style x:Key="AppBarButtonStyle" TargetType="Button">
290        <Setter Property="Foreground" Value="{StaticResource AppBarItemForegroundThemeBrush}"/>
291        <Setter Property="VerticalAlignment" Value="Stretch"/>
292        <Setter Property="FontFamily" Value="Segoe UI Symbol"/>
293        <Setter Property="FontWeight" Value="Normal"/>
294        <Setter Property="FontSize" Value="20"/>
295        <Setter Property="AutomationProperties.ItemType" Value="App Bar Button"/>
296        <Setter Property="Template">
297            <Setter.Value>
298                <ControlTemplate TargetType="Button">
299                    <Grid Width="100" Background="Transparent">
300                        <StackPanel VerticalAlignment="Top" Margin="0,14,0,13">
301                            <Grid Width="40" Height="40" Margin="0,0,0,5" HorizontalAlignment="Center">
302                                <TextBlock x:Name="BackgroundGlyph" Text="&#xE0A8;" FontFamily="Segoe UI Symbol" FontSize="53.333" Margin="-4,-19,0,0" Foreground="{StaticResource AppBarItemBackgroundThemeBrush}"/>
303                                <TextBlock x:Name="OutlineGlyph" Text="&#xE0A7;" FontFamily="Segoe UI Symbol" FontSize="53.333" Margin="-4,-19,0,0"/>
304                                <ContentPresenter x:Name="Content" HorizontalAlignment="Center" Margin="-1,-1,0,0" VerticalAlignment="Center"/>
305                            </Grid>
306                            <TextBlock
307                                x:Name="TextLabel"
308                                Text="{TemplateBinding AutomationProperties.Name}"
309                                Margin="0,0,2,0"
310                                FontSize="12"
311                                TextAlignment="Center"
312                                Width="88"
313                                MaxHeight="32"
314                                TextTrimming="WordEllipsis"
315                                Style="{StaticResource BasicTextStyle}"/>
316                        </StackPanel>
317                        <Rectangle
318                                x:Name="FocusVisualWhite"
319                                IsHitTestVisible="False"
320                                Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
321                                StrokeEndLineCap="Square"
322                                StrokeDashArray="1,1"
323                                Opacity="0"
324                                StrokeDashOffset="1.5"/>
325                        <Rectangle
326                                x:Name="FocusVisualBlack"
327                                IsHitTestVisible="False"
328                                Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
329                                StrokeEndLineCap="Square"
330                                StrokeDashArray="1,1"
331                                Opacity="0"
332                                StrokeDashOffset="0.5"/>
333
334                        <VisualStateManager.VisualStateGroups>
335                            <VisualStateGroup x:Name="CommonStates">
336                                <VisualState x:Name="Normal"/>
337                                <VisualState x:Name="PointerOver">
338                                    <Storyboard>
339                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
340                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPointerOverBackgroundThemeBrush}"/>
341                                        </ObjectAnimationUsingKeyFrames>
342                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground">
343                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPointerOverForegroundThemeBrush}"/>
344                                        </ObjectAnimationUsingKeyFrames>
345                                    </Storyboard>
346                                </VisualState>
347                                <VisualState x:Name="Pressed">
348                                    <Storyboard>
349                                        <DoubleAnimation
350                                            Storyboard.TargetName="OutlineGlyph"
351                                            Storyboard.TargetProperty="Opacity"
352                                            To="0"
353                                            Duration="0"/>
354                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
355                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemForegroundThemeBrush}"/>
356                                        </ObjectAnimationUsingKeyFrames>
357                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground">
358                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPressedForegroundThemeBrush}"/>
359                                        </ObjectAnimationUsingKeyFrames>
360                                    </Storyboard>
361                                </VisualState>
362                                <VisualState x:Name="Disabled">
363                                    <Storyboard>
364                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OutlineGlyph" Storyboard.TargetProperty="Foreground">
365                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemDisabledForegroundThemeBrush}"/>
366                                        </ObjectAnimationUsingKeyFrames>
367                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground">
368                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemDisabledForegroundThemeBrush}"/>
369                                        </ObjectAnimationUsingKeyFrames>
370                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="TextLabel" Storyboard.TargetProperty="Foreground">
371                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemDisabledForegroundThemeBrush}"/>
372                                        </ObjectAnimationUsingKeyFrames>
373                                    </Storyboard>
374                                </VisualState>
375                            </VisualStateGroup>
376                            <VisualStateGroup x:Name="FocusStates">
377                                <VisualState x:Name="Focused">
378                                    <Storyboard>
379                                        <DoubleAnimation
380                                                Storyboard.TargetName="FocusVisualWhite"
381                                                Storyboard.TargetProperty="Opacity"
382                                                To="1"
383                                                Duration="0"/>
384                                        <DoubleAnimation
385                                                Storyboard.TargetName="FocusVisualBlack"
386                                                Storyboard.TargetProperty="Opacity"
387                                                To="1"
388                                                Duration="0"/>
389                                    </Storyboard>
390                                </VisualState>
391                                <VisualState x:Name="Unfocused" />
392                                <VisualState x:Name="PointerFocused" />
393                            </VisualStateGroup>
394                        </VisualStateManager.VisualStateGroups>
395                    </Grid>
396                </ControlTemplate>
397            </Setter.Value>
398        </Setter>
399    </Style>
400
401    <!-- Standard App Bar buttons -->
402
403    <Style x:Key="SkipBackAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
404        <Setter Property="AutomationProperties.AutomationId" Value="SkipBackAppBarButton"/>
405        <Setter Property="AutomationProperties.Name" Value="Skip Back"/>
406        <Setter Property="Content" Value="&#xE100;"/>
407    </Style>
408    <Style x:Key="SkipAheadAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
409        <Setter Property="AutomationProperties.AutomationId" Value="SkipAheadAppBarButton"/>
410        <Setter Property="AutomationProperties.Name" Value="Skip Ahead"/>
411        <Setter Property="Content" Value="&#xE101;"/>
412    </Style>
413    <Style x:Key="PlayAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
414        <Setter Property="AutomationProperties.AutomationId" Value="PlayAppBarButton"/>
415        <Setter Property="AutomationProperties.Name" Value="Play"/>
416        <Setter Property="Content" Value="&#xE102;"/>
417    </Style>
418    <Style x:Key="PauseAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
419        <Setter Property="AutomationProperties.AutomationId" Value="PauseAppBarButton"/>
420        <Setter Property="AutomationProperties.Name" Value="Pause"/>
421        <Setter Property="Content" Value="&#xE103;"/>
422    </Style>
423    <Style x:Key="EditAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
424        <Setter Property="AutomationProperties.AutomationId" Value="EditAppBarButton"/>
425        <Setter Property="AutomationProperties.Name" Value="Edit"/>
426        <Setter Property="Content" Value="&#xE104;"/>
427    </Style>
428    <Style x:Key="SaveAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
429        <Setter Property="AutomationProperties.AutomationId" Value="SaveAppBarButton"/>
430        <Setter Property="AutomationProperties.Name" Value="Save"/>
431        <Setter Property="Content" Value="&#xE105;"/>
432    </Style>
433    <Style x:Key="DeleteAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
434        <Setter Property="AutomationProperties.AutomationId" Value="DeleteAppBarButton"/>
435        <Setter Property="AutomationProperties.Name" Value="Delete"/>
436        <Setter Property="Content" Value="&#xE106;"/>
437    </Style>
438    <Style x:Key="DiscardAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
439        <Setter Property="AutomationProperties.AutomationId" Value="DiscardAppBarButton"/>
440        <Setter Property="AutomationProperties.Name" Value="Discard"/>
441        <Setter Property="Content" Value="&#xE107;"/>
442    </Style>
443    <Style x:Key="RemoveAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
444        <Setter Property="AutomationProperties.AutomationId" Value="RemoveAppBarButton"/>
445        <Setter Property="AutomationProperties.Name" Value="Remove"/>
446        <Setter Property="Content" Value="&#xE108;"/>
447    </Style>
448    <Style x:Key="AddAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
449        <Setter Property="AutomationProperties.AutomationId" Value="AddAppBarButton"/>
450        <Setter Property="AutomationProperties.Name" Value="Add"/>
451        <Setter Property="Content" Value="&#xE109;"/>
452    </Style>
453    <Style x:Key="NoAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
454        <Setter Property="AutomationProperties.AutomationId" Value="NoAppBarButton"/>
455        <Setter Property="AutomationProperties.Name" Value="No"/>
456        <Setter Property="Content" Value="&#xE10A;"/>
457    </Style>
458    <Style x:Key="YesAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
459        <Setter Property="AutomationProperties.AutomationId" Value="YesAppBarButton"/>
460        <Setter Property="AutomationProperties.Name" Value="Yes"/>
461        <Setter Property="Content" Value="&#xE10B;"/>
462    </Style>
463    <Style x:Key="MoreAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
464        <Setter Property="AutomationProperties.AutomationId" Value="MoreAppBarButton"/>
465        <Setter Property="AutomationProperties.Name" Value="More"/>
466        <Setter Property="Content" Value="&#xE10C;"/>
467    </Style>
468    <Style x:Key="RedoAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
469        <Setter Property="AutomationProperties.AutomationId" Value="RedoAppBarButton"/>
470        <Setter Property="AutomationProperties.Name" Value="Redo"/>
471        <Setter Property="Content" Value="&#xE10D;"/>
472    </Style>
473    <Style x:Key="UndoAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
474        <Setter Property="AutomationProperties.AutomationId" Value="UndoAppBarButton"/>
475        <Setter Property="AutomationProperties.Name" Value="Undo"/>
476        <Setter Property="Content" Value="&#xE10E;"/>
477    </Style>
478    <Style x:Key="HomeAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
479        <Setter Property="AutomationProperties.AutomationId" Value="HomeAppBarButton"/>
480        <Setter Property="AutomationProperties.Name" Value="Home"/>
481        <Setter Property="Content" Value="&#xE10F;"/>
482    </Style>
483    <Style x:Key="OutAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
484        <Setter Property="AutomationProperties.AutomationId" Value="OutAppBarButton"/>
485        <Setter Property="AutomationProperties.Name" Value="Out"/>
486        <Setter Property="Content" Value="&#xE110;"/>
487    </Style>
488    <Style x:Key="NextAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
489        <Setter Property="AutomationProperties.AutomationId" Value="NextAppBarButton"/>
490        <Setter Property="AutomationProperties.Name" Value="Next"/>
491        <Setter Property="Content" Value="&#xE111;"/>
492    </Style>
493    <Style x:Key="PreviousAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
494        <Setter Property="AutomationProperties.AutomationId" Value="PreviousAppBarButton"/>
495        <Setter Property="AutomationProperties.Name" Value="Previous"/>
496        <Setter Property="Content" Value="&#xE112;"/>
497    </Style>
498    <Style x:Key="FavoriteAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
499        <Setter Property="AutomationProperties.AutomationId" Value="FavoriteAppBarButton"/>
500        <Setter Property="AutomationProperties.Name" Value="Favorite"/>
501        <Setter Property="Content" Value="&#xE113;"/>
502    </Style>
503    <Style x:Key="PhotoAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
504        <Setter Property="AutomationProperties.AutomationId" Value="PhotoAppBarButton"/>
505        <Setter Property="AutomationProperties.Name" Value="Photo"/>
506        <Setter Property="Content" Value="&#xE114;"/>
507    </Style>
508    <Style x:Key="SettingsAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
509        <Setter Property="AutomationProperties.AutomationId" Value="SettingsAppBarButton"/>
510        <Setter Property="AutomationProperties.Name" Value="Settings"/>
511        <Setter Property="Content" Value="&#xE115;"/>
512    </Style>
513    <Style x:Key="VideoAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
514        <Setter Property="AutomationProperties.AutomationId" Value="VideoAppBarButton"/>
515        <Setter Property="AutomationProperties.Name" Value="Video"/>
516        <Setter Property="Content" Value="&#xE116;"/>
517    </Style>
518    <Style x:Key="RefreshAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
519        <Setter Property="AutomationProperties.AutomationId" Value="RefreshAppBarButton"/>
520        <Setter Property="AutomationProperties.Name" Value="Refresh"/>
521        <Setter Property="Content" Value="&#xE117;"/>
522    </Style>
523    <Style x:Key="DownloadAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
524        <Setter Property="AutomationProperties.AutomationId" Value="DownloadAppBarButton"/>
525        <Setter Property="AutomationProperties.Name" Value="Download"/>
526        <Setter Property="Content" Value="&#xE118;"/>
527    </Style>
528    <Style x:Key="MailAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
529        <Setter Property="AutomationProperties.AutomationId" Value="MailAppBarButton"/>
530        <Setter Property="AutomationProperties.Name" Value="Mail"/>
531        <Setter Property="Content" Value="&#xE119;"/>
532    </Style>
533    <Style x:Key="SearchAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
534        <Setter Property="AutomationProperties.AutomationId" Value="SearchAppBarButton"/>
535        <Setter Property="AutomationProperties.Name" Value="Search"/>
536        <Setter Property="Content" Value="&#xE11A;"/>
537    </Style>
538    <Style x:Key="HelpAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
539        <Setter Property="AutomationProperties.AutomationId" Value="HelpAppBarButton"/>
540        <Setter Property="AutomationProperties.Name" Value="Help"/>
541        <Setter Property="Content" Value="&#xE11B;"/>
542    </Style>
543    <Style x:Key="UploadAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
544        <Setter Property="AutomationProperties.AutomationId" Value="UploadAppBarButton"/>
545        <Setter Property="AutomationProperties.Name" Value="Upload"/>
546        <Setter Property="Content" Value="&#xE11C;"/>
547    </Style>
548    <Style x:Key="PinAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
549        <Setter Property="AutomationProperties.AutomationId" Value="PinAppBarButton"/>
550        <Setter Property="AutomationProperties.Name" Value="Pin"/>
551        <Setter Property="Content" Value="&#xE141;"/>
552    </Style>
553    <Style x:Key="UnpinAppBarButtonStyle" TargetType="Button" BasedOn="{StaticResource AppBarButtonStyle}">
554        <Setter Property="AutomationProperties.AutomationId" Value="UnpinAppBarButton"/>
555        <Setter Property="AutomationProperties.Name" Value="Unpin"/>
556        <Setter Property="Content" Value="&#xE196;"/>
557    </Style>
558
559    <!-- Title area styles -->
560
561    <Style x:Key="PageHeaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource HeaderTextStyle}">
562        <Setter Property="TextWrapping" Value="NoWrap"/>
563        <Setter Property="VerticalAlignment" Value="Bottom"/>
564        <Setter Property="Margin" Value="0,0,40,40"/>
565    </Style>
566
567    <Style x:Key="PageSubheaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource SubheaderTextStyle}">
568        <Setter Property="TextWrapping" Value="NoWrap"/>
569        <Setter Property="VerticalAlignment" Value="Bottom"/>
570        <Setter Property="Margin" Value="0,0,0,40"/>
571    </Style>
572
573    <Style x:Key="SnappedPageHeaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource PageSubheaderTextStyle}">
574        <Setter Property="Margin" Value="0,0,18,40"/>
575    </Style>
576
577    <!--
578        BackButtonStyle is used to style a Button for use in the title area of a page.  Margins appropriate for
579        the conventional page layout are included as part of the style.
580    -->
581    <Style x:Key="BackButtonStyle" TargetType="Button">
582        <Setter Property="MinWidth" Value="0"/>
583        <Setter Property="Width" Value="48"/>
584        <Setter Property="Height" Value="48"/>
585        <Setter Property="Margin" Value="36,0,36,36"/>
586        <Setter Property="VerticalAlignment" Value="Bottom"/>
587        <Setter Property="FontFamily" Value="Segoe UI Symbol"/>
588        <Setter Property="FontWeight" Value="Normal"/>
589        <Setter Property="FontSize" Value="56"/>
590        <Setter Property="AutomationProperties.AutomationId" Value="BackButton"/>
591        <Setter Property="AutomationProperties.Name" Value="Back"/>
592        <Setter Property="AutomationProperties.ItemType" Value="Navigation Button"/>
593        <Setter Property="Template">
594            <Setter.Value>
595                <ControlTemplate TargetType="Button">
596                    <Grid x:Name="RootGrid">
597                        <Grid Margin="-1,-16,0,0">
598                            <TextBlock x:Name="BackgroundGlyph" Text="&#xE0A8;" Foreground="{StaticResource BackButtonBackgroundThemeBrush}"/>
599                            <TextBlock x:Name="NormalGlyph" Text="{StaticResource BackButtonGlyph}" Foreground="{StaticResource BackButtonForegroundThemeBrush}"/>
600                            <TextBlock x:Name="ArrowGlyph" Text="&#xE0A6;" Foreground="{StaticResource BackButtonPressedForegroundThemeBrush}" Opacity="0"/>
601                        </Grid>
602                        <Rectangle
603                            x:Name="FocusVisualWhite"
604                            IsHitTestVisible="False"
605                            Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
606                            StrokeEndLineCap="Square"
607                            StrokeDashArray="1,1"
608                            Opacity="0"
609                            StrokeDashOffset="1.5"/>
610                        <Rectangle
611                            x:Name="FocusVisualBlack"
612                            IsHitTestVisible="False"
613                            Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
614                            StrokeEndLineCap="Square"
615                            StrokeDashArray="1,1"
616                            Opacity="0"
617                            StrokeDashOffset="0.5"/>
618
619                        <VisualStateManager.VisualStateGroups>
620                            <VisualStateGroup x:Name="CommonStates">
621                                <VisualState x:Name="Normal" />
622                                <VisualState x:Name="PointerOver">
623                                    <Storyboard>
624                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
625                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverBackgroundThemeBrush}"/>
626                                        </ObjectAnimationUsingKeyFrames>
627                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NormalGlyph" Storyboard.TargetProperty="Foreground">
628                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverForegroundThemeBrush}"/>
629                                        </ObjectAnimationUsingKeyFrames>
630                                    </Storyboard>
631                                </VisualState>
632                                <VisualState x:Name="Pressed">
633                                    <Storyboard>
634                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
635                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonForegroundThemeBrush}"/>
636                                        </ObjectAnimationUsingKeyFrames>
637                                        <DoubleAnimation
638                                            Storyboard.TargetName="ArrowGlyph"
639                                            Storyboard.TargetProperty="Opacity"
640                                            To="1"
641                                            Duration="0"/>
642                                        <DoubleAnimation
643                                            Storyboard.TargetName="NormalGlyph"
644                                            Storyboard.TargetProperty="Opacity"
645                                            To="0"
646                                            Duration="0"/>
647                                    </Storyboard>
648                                </VisualState>
649                                <VisualState x:Name="Disabled">
650                                    <Storyboard>
651                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Visibility">
652                                            <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
653                                        </ObjectAnimationUsingKeyFrames>
654                                    </Storyboard>
655                                </VisualState>
656                            </VisualStateGroup>
657                            <VisualStateGroup x:Name="FocusStates">
658                                <VisualState x:Name="Focused">
659                                    <Storyboard>
660                                        <DoubleAnimation
661                                            Storyboard.TargetName="FocusVisualWhite"
662                                            Storyboard.TargetProperty="Opacity"
663                                            To="1"
664                                            Duration="0"/>
665                                        <DoubleAnimation
666                                            Storyboard.TargetName="FocusVisualBlack"
667                                            Storyboard.TargetProperty="Opacity"
668                                            To="1"
669                                            Duration="0"/>
670                                    </Storyboard>
671                                </VisualState>
672                                <VisualState x:Name="Unfocused" />
673                                <VisualState x:Name="PointerFocused" />
674                            </VisualStateGroup>
675                        </VisualStateManager.VisualStateGroups>
676                    </Grid>
677                </ControlTemplate>
678            </Setter.Value>
679        </Setter>
680    </Style>
681
682    <!--
683        PortraitBackButtonStyle is used to style a Button for use in the title area of a portrait page.  Margins appropriate
684        for the conventional page layout are included as part of the style.
685    -->
686    <Style x:Key="PortraitBackButtonStyle" TargetType="Button" BasedOn="{StaticResource BackButtonStyle}">
687        <Setter Property="Margin" Value="26,0,26,36"/>
688    </Style>
689
690    <!--
691        SnappedBackButtonStyle is used to style a Button for use in the title area of a snapped page.  Margins appropriate
692        for the conventional page layout are included as part of the style.
693
694        The obvious duplication here is necessary as the glyphs used in snapped are not merely smaller versions of the same
695        glyph but are actually distinct.
696    -->
697    <Style x:Key="SnappedBackButtonStyle" TargetType="Button">
698        <Setter Property="MinWidth" Value="0"/>
699        <Setter Property="Margin" Value="20,0,0,0"/>
700        <Setter Property="VerticalAlignment" Value="Bottom"/>
701        <Setter Property="FontFamily" Value="Segoe UI Symbol"/>
702        <Setter Property="FontWeight" Value="Normal"/>
703        <Setter Property="FontSize" Value="26.66667"/>
704        <Setter Property="AutomationProperties.AutomationId" Value="BackButton"/>
705        <Setter Property="AutomationProperties.Name" Value="Back"/>
706        <Setter Property="AutomationProperties.ItemType" Value="Navigation Button"/>
707        <Setter Property="Template">
708            <Setter.Value>
709                <ControlTemplate TargetType="Button">
710                    <Grid x:Name="RootGrid" Width="36" Height="36" Margin="-3,0,7,33">
711                        <Grid Margin="-1,-1,0,0">
712                            <TextBlock x:Name="BackgroundGlyph" Text="&#xE0D4;" Foreground="{StaticResource BackButtonBackgroundThemeBrush}"/>
713                            <TextBlock x:Name="NormalGlyph" Text="{StaticResource BackButtonSnappedGlyph}" Foreground="{StaticResource BackButtonForegroundThemeBrush}"/>
714                            <TextBlock x:Name="ArrowGlyph" Text="&#xE0C4;" Foreground="{StaticResource BackButtonPressedForegroundThemeBrush}" Opacity="0"/>
715                        </Grid>
716                        <Rectangle
717                            x:Name="FocusVisualWhite"
718                            IsHitTestVisible="False"
719                            Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
720                            StrokeEndLineCap="Square"
721                            StrokeDashArray="1,1"
722                            Opacity="0"
723                            StrokeDashOffset="1.5"/>
724                        <Rectangle
725                            x:Name="FocusVisualBlack"
726                            IsHitTestVisible="False"
727                            Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
728                            StrokeEndLineCap="Square"
729                            StrokeDashArray="1,1"
730                            Opacity="0"
731                            StrokeDashOffset="0.5"/>
732
733                        <VisualStateManager.VisualStateGroups>
734                            <VisualStateGroup x:Name="CommonStates">
735                                <VisualState x:Name="Normal" />
736                                <VisualState x:Name="PointerOver">
737                                    <Storyboard>
738                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
739                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverBackgroundThemeBrush}"/>
740                                        </ObjectAnimationUsingKeyFrames>
741                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NormalGlyph" Storyboard.TargetProperty="Foreground">
742                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverForegroundThemeBrush}"/>
743                                        </ObjectAnimationUsingKeyFrames>
744                                    </Storyboard>
745                                </VisualState>
746                                <VisualState x:Name="Pressed">
747                                    <Storyboard>
748                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
749                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonForegroundThemeBrush}"/>
750                                        </ObjectAnimationUsingKeyFrames>
751                                        <DoubleAnimation
752                                            Storyboard.TargetName="ArrowGlyph"
753                                            Storyboard.TargetProperty="Opacity"
754                                            To="1"
755                                            Duration="0"/>
756                                        <DoubleAnimation
757                                            Storyboard.TargetName="NormalGlyph"
758                                            Storyboard.TargetProperty="Opacity"
759                                            To="0"
760                                            Duration="0"/>
761                                    </Storyboard>
762                                </VisualState>
763                                <VisualState x:Name="Disabled">
764                                    <Storyboard>
765                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Visibility">
766                                            <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
767                                        </ObjectAnimationUsingKeyFrames>
768                                    </Storyboard>
769                                </VisualState>
770                            </VisualStateGroup>
771                            <VisualStateGroup x:Name="FocusStates">
772                                <VisualState x:Name="Focused">
773                                    <Storyboard>
774                                        <DoubleAnimation
775                                            Storyboard.TargetName="FocusVisualWhite"
776                                            Storyboard.TargetProperty="Opacity"
777                                            To="1"
778                                            Duration="0"/>
779                                        <DoubleAnimation
780                                            Storyboard.TargetName="FocusVisualBlack"
781                                            Storyboard.TargetProperty="Opacity"
782                                            To="1"
783                                            Duration="0"/>
784                                    </Storyboard>
785                                </VisualState>
786                                <VisualState x:Name="Unfocused" />
787                                <VisualState x:Name="PointerFocused" />
788                            </VisualStateGroup>
789                        </VisualStateManager.VisualStateGroups>
790                    </Grid>
791                </ControlTemplate>
792            </Setter.Value>
793        </Setter>
794    </Style>
795
796    <!-- Item templates -->
797
798    <!-- Grid-appropriate 250 pixel square item template as seen in the GroupedItemsPage and ItemsPage -->
799    <DataTemplate x:Key="Standard250x250ItemTemplate">
800        <Grid HorizontalAlignment="Left" Width="250" Height="250">
801            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}">
802                <Image Source="{Binding Image}" Stretch="UniformToFill"/>
803            </Border>
804            <StackPanel VerticalAlignment="Bottom" Background="{StaticResource ListViewItemOverlayBackgroundThemeBrush}">
805                <TextBlock Text="{Binding Title}" Foreground="{StaticResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource TitleTextStyle}" Height="60" Margin="15,0,15,0"/>
806                <TextBlock Text="{Binding Subtitle}" Foreground="{StaticResource ListViewItemOverlaySecondaryForegroundThemeBrush}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap" Margin="15,0,15,10"/>
807            </StackPanel>
808        </Grid>
809    </DataTemplate>
810
811    <!-- Grid-appropriate 500 by 130 pixel item template as seen in the GroupDetailPage -->
812    <DataTemplate x:Key="Standard500x130ItemTemplate">
813        <Grid Height="110" Width="480" Margin="10">
814            <Grid.ColumnDefinitions>
815                <ColumnDefinition Width="Auto"/>
816                <ColumnDefinition Width="*"/>
817            </Grid.ColumnDefinitions>
818            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="110" Height="110">
819                <Image Source="{Binding Image}" Stretch="UniformToFill"/>
820            </Border>
821            <StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0">
822                <TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap"/>
823                <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/>
824                <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" MaxHeight="60"/>
825            </StackPanel>
826        </Grid>
827    </DataTemplate>
828
829    <!-- List-appropriate 130 pixel high item template as seen in the SplitPage -->
830    <DataTemplate x:Key="Standard130ItemTemplate">
831        <Grid Height="110" Margin="6">
832            <Grid.ColumnDefinitions>
833                <ColumnDefinition Width="Auto"/>
834                <ColumnDefinition Width="*"/>
835            </Grid.ColumnDefinitions>
836            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="110" Height="110">
837                <Image Source="{Binding Image}" Stretch="UniformToFill"/>
838            </Border>
839            <StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0">
840                <TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap"/>
841                <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/>
842                <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" MaxHeight="60"/>
843            </StackPanel>
844        </Grid>
845    </DataTemplate>
846
847    <!--
848        List-appropriate 80 pixel high item template as seen in the SplitPage when Filled, and
849        the following pages when snapped: GroupedItemsPage, GroupDetailPage, and ItemsPage
850    -->
851    <DataTemplate x:Key="Standard80ItemTemplate">
852        <Grid Margin="6">
853            <Grid.ColumnDefinitions>
854                <ColumnDefinition Width="Auto"/>
855                <ColumnDefinition Width="*"/>
856            </Grid.ColumnDefinitions>
857            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="60" Height="60">
858                <Image Source="{Binding Image}" Stretch="UniformToFill"/>
859            </Border>
860            <StackPanel Grid.Column="1" Margin="10,0,0,0">
861                <TextBlock Text="{Binding Title}" Style="{StaticResource ItemTextStyle}" MaxHeight="40"/>
862                <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/>
863            </StackPanel>
864        </Grid>
865    </DataTemplate>
866
867    <!-- Grid-appropriate 300 by 70 pixel item template as seen in the SearchResultsPage -->
868    <DataTemplate x:Key="StandardSmallIcon300x70ItemTemplate">
869        <Grid Width="300">
870            <Grid.ColumnDefinitions>
871                <ColumnDefinition Width="Auto"/>
872                <ColumnDefinition Width="*"/>
873            </Grid.ColumnDefinitions>
874            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="10,10,0,20" Width="40" Height="40">
875                <Image Source="{Binding Image}" Stretch="UniformToFill"/>
876            </Border>
877            <StackPanel Grid.Column="1" Margin="10,0,10,10">
878                <TextBlock Text="{Binding Title}" Style="{StaticResource BodyTextStyle}" TextWrapping="NoWrap"/>
879                <TextBlock Text="{Binding Subtitle}" Style="{StaticResource BodyTextStyle}" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" Height="40"/>
880            </StackPanel>
881        </Grid>
882    </DataTemplate>
883
884    <!-- List-appropriate 70 pixel high item template as seen in the SearchResultsPage when Snapped -->
885    <DataTemplate x:Key="StandardSmallIcon70ItemTemplate">
886        <Grid Margin="6">
887            <Grid.ColumnDefinitions>
888                <ColumnDefinition Width="Auto"/>
889                <ColumnDefinition Width="*"/>
890            </Grid.ColumnDefinitions>
891            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="0,0,0,10" Width="40" Height="40">
892                <Image Source="{Binding Image}" Stretch="UniformToFill"/>
893            </Border>
894            <StackPanel Grid.Column="1" Margin="10,-10,0,0">
895                <TextBlock Text="{Binding Title}" Style="{StaticResource BodyTextStyle}" TextWrapping="NoWrap"/>
896                <TextBlock Text="{Binding Subtitle}" Style="{StaticResource BodyTextStyle}" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" Height="40"/>
897            </StackPanel>
898        </Grid>
899    </DataTemplate>
900
901  <!--
902      190x130 pixel item template for displaying file previews as seen in the FileOpenPickerPage
903      Includes an elaborate tooltip to display title and description text
904  -->
905  <DataTemplate x:Key="StandardFileWithTooltip190x130ItemTemplate">
906        <Grid>
907            <Grid Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}">
908                <Image
909                    Source="{Binding Image}"
910                    Width="190"
911                    Height="130"
912                    HorizontalAlignment="Center"
913                    VerticalAlignment="Center"
914                    Stretch="Uniform"/>
915            </Grid>
916            <ToolTipService.Placement>Mouse</ToolTipService.Placement>
917            <ToolTipService.ToolTip>
918                <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
919                    <Grid.ColumnDefinitions>
920                        <ColumnDefinition Width="Auto"/>
921                        <ColumnDefinition Width="*"/>
922                    </Grid.ColumnDefinitions>
923
924                    <Grid Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="20">
925                        <Image
926                            Source="{Binding Image}"
927                            Width="160"
928                            Height="160"
929                            HorizontalAlignment="Center"
930                            VerticalAlignment="Center"
931                            Stretch="Uniform"/>
932                    </Grid>
933                    <StackPanel Width="200" Grid.Column="1" Margin="0,20,20,20">
934                        <TextBlock Text="{Binding Title}" TextWrapping="NoWrap" Style="{StaticResource BodyTextStyle}"/>
935                        <TextBlock Text="{Binding Description}" MaxHeight="140" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" Style="{StaticResource BodyTextStyle}"/>
936                    </StackPanel>
937                </Grid>
938            </ToolTipService.ToolTip>
939        </Grid>
940    </DataTemplate>
941
942    <!-- Default to 10-pixel spacing between grid items (after accounting for 4-pixel insets for focus) -->
943
944    <Style TargetType="GridViewItem">
945        <Setter Property="Margin" Value="0,0,2,2" />
946    </Style>
947
948    <!-- ScrollViewer styles -->
949
950    <Style x:Key="HorizontalScrollViewerStyle" TargetType="ScrollViewer">
951        <Setter Property="HorizontalScrollBarVisibility" Value="Auto"/>
952        <Setter Property="VerticalScrollBarVisibility" Value="Disabled"/>
953        <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Enabled" />
954        <Setter Property="ScrollViewer.VerticalScrollMode" Value="Disabled" />
955        <Setter Property="ScrollViewer.ZoomMode" Value="Disabled" />
956    </Style>
957
958    <Style x:Key="VerticalScrollViewerStyle" TargetType="ScrollViewer">
959        <Setter Property="HorizontalScrollBarVisibility" Value="Disabled"/>
960        <Setter Property="VerticalScrollBarVisibility" Value="Auto"/>
961        <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled" />
962        <Setter Property="ScrollViewer.VerticalScrollMode" Value="Enabled" />
963        <Setter Property="ScrollViewer.ZoomMode" Value="Disabled" />
964    </Style>
965
966    <!-- Page layout roots typically use entrance animations and a theme-appropriate background color -->
967
968    <Style x:Key="LayoutRootStyle" TargetType="Panel">
969        <Setter Property="Background" Value="{StaticResource ApplicationPageBackgroundThemeBrush}"/>
970        <Setter Property="ChildrenTransitions">
971            <Setter.Value>
972                <TransitionCollection>
973                    <EntranceThemeTransition/>
974                </TransitionCollection>
975            </Setter.Value>
976        </Setter>
977    </Style>
978</ResourceDictionary>
979