mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 11:34:57 +02:00
617 lines
No EOL
38 KiB
XML
617 lines
No EOL
38 KiB
XML
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:themeconverters="clr-namespace:MediaBrowser.Plugins.DefaultTheme.Converters"
|
|
xmlns:themecontrols="clr-namespace:MediaBrowser.Plugins.DefaultTheme.Controls"
|
|
xmlns:ee="http://schemas.microsoft.com/expression/2010/effects"
|
|
xmlns:ViewModels="clr-namespace:MediaBrowser.UI.ViewModels;assembly=MediaBrowser.UI"
|
|
xmlns:controls="clr-namespace:MediaBrowser.UI.Controls;assembly=MediaBrowser.UI.Controls"
|
|
xmlns:dto="clr-namespace:MediaBrowser.Model.Dto;assembly=MediaBrowser.Model"
|
|
x:Class="MediaBrowser.Plugins.DefaultTheme.Resources.AppResources">
|
|
|
|
<themeconverters:WeatherImageConverter x:Key="WeatherImageConverter"></themeconverters:WeatherImageConverter>
|
|
|
|
<Style TargetType="Grid" x:Key="WindowBackgroundContent">
|
|
<Setter Property="Background">
|
|
<Setter.Value>
|
|
<LinearGradientBrush SpreadMethod="Reflect" ColorInterpolationMode="SRgbLinearInterpolation" StartPoint="0,0" EndPoint="0,1" >
|
|
<GradientStop Color="#ff000000" Offset="0" />
|
|
<GradientStop Color="#ffbbbbbb" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="Grid" x:Key="WindowBackgroundContentDuringPlayback">
|
|
<Setter Property="Opacity" Value=".75"/>
|
|
<Setter Property="Background">
|
|
<Setter.Value>
|
|
<LinearGradientBrush SpreadMethod="Reflect" ColorInterpolationMode="SRgbLinearInterpolation" StartPoint="0,0" EndPoint="0,1" >
|
|
<GradientStop Color="#ff000000" Offset="0" />
|
|
<GradientStop Color="#ffbbbbbb" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!--Default font for text. Themes should override these as needed-->
|
|
<Brush x:Key="DefaultForeground">#ffffff</Brush>
|
|
|
|
<!--Default font for small text. Themes should override these as needed-->
|
|
<Brush x:Key="SmallForeground">#ffffff</Brush>
|
|
|
|
<!--Default font for h1 headers. Themes should override these as needed-->
|
|
<Brush x:Key="Heading1Foreground">#ffffff</Brush>
|
|
|
|
<!--Default font for h2 headers. Themes should override these as needed-->
|
|
<Brush x:Key="Heading2Foreground">#ffffff</Brush>
|
|
|
|
<DataTemplate DataType="{x:Type dto:UserDto}">
|
|
<Grid HorizontalAlignment="Left">
|
|
<Border Background="{Binding Converter={StaticResource MetroTileBackgroundConverter},Mode=OneWay}">
|
|
<Image Stretch="Uniform" Width="330" Height="330">
|
|
<Image.Style>
|
|
<Style TargetType="{x:Type Image}">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding HasPrimaryImage}" Value="true">
|
|
<Setter Property="Image.Source" Value="{Binding Converter={StaticResource UserImageConverter}, ConverterParameter='0,0,0,0',Mode=OneWay}" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding HasPrimaryImage}" Value="false">
|
|
<Setter Property="Image.Source" Value="../Resources/Images/UserLoginDefault.png" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Image.Style>
|
|
</Image>
|
|
</Border>
|
|
|
|
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
|
|
<Grid.Background>
|
|
<SolidColorBrush Color="#A6000000"></SolidColorBrush>
|
|
</Grid.Background>
|
|
<StackPanel Orientation="Vertical" Margin="10 5 0 10">
|
|
<TextBlock Foreground="White" Text="{Binding Name,Mode=OneWay}" Style="{StaticResource TextBlockStyle}"></TextBlock>
|
|
<TextBlock Foreground="White" Text="{Binding Converter={StaticResource LastSeenTextConverter},Mode=OneWay}" Style="{StaticResource SmallTextBlockStyle}"></TextBlock>
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="HomePageListBoxItemTemplate" DataType="{x:Type ViewModels:DtoBaseItemViewModel}">
|
|
<themecontrols:HomePageTile DataContext="{Binding Mode=OneWay}"></themecontrols:HomePageTile>
|
|
</DataTemplate>
|
|
|
|
<Style x:Key="SpotlightButtonStyle" TargetType="{x:Type Button}">
|
|
<Setter Property="SnapsToDevicePixels" Value="true"/>
|
|
<Setter Property="OverridesDefaultStyle" Value="true"/>
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Margin" Value="0"/>
|
|
<Setter Property="Padding" Value="0"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type Button}">
|
|
<Border x:Name="Bd" SnapsToDevicePixels="true" RenderTransformOrigin="0.5,0.5" Padding="3">
|
|
<Border.RenderTransform>
|
|
<TransformGroup>
|
|
<ScaleTransform/>
|
|
<SkewTransform/>
|
|
<RotateTransform/>
|
|
<TranslateTransform/>
|
|
</TransformGroup>
|
|
</Border.RenderTransform>
|
|
<VisualStateManager.VisualStateGroups>
|
|
<VisualStateGroup x:Name="CommonStates">
|
|
<VisualStateGroup.Transitions>
|
|
<VisualTransition GeneratedDuration="0:0:0.25"/>
|
|
</VisualStateGroup.Transitions>
|
|
<VisualState x:Name="Normal"/>
|
|
<VisualState x:Name="MouseOver">
|
|
</VisualState>
|
|
<VisualState x:Name="Disabled"/>
|
|
<VisualState x:Name="Focused">
|
|
<Storyboard>
|
|
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="Bd">
|
|
<EasingDoubleKeyFrame KeyTime="0" Value="1.035">
|
|
<EasingDoubleKeyFrame.EasingFunction>
|
|
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
|
|
</EasingDoubleKeyFrame.EasingFunction>
|
|
</EasingDoubleKeyFrame>
|
|
</DoubleAnimationUsingKeyFrames>
|
|
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Bd">
|
|
<EasingDoubleKeyFrame KeyTime="0" Value="1.035">
|
|
<EasingDoubleKeyFrame.EasingFunction>
|
|
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
|
|
</EasingDoubleKeyFrame.EasingFunction>
|
|
</EasingDoubleKeyFrame>
|
|
</DoubleAnimationUsingKeyFrames>
|
|
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="Bd">
|
|
<EasingDoubleKeyFrame KeyTime="0" Value="0">
|
|
<EasingDoubleKeyFrame.EasingFunction>
|
|
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
|
|
</EasingDoubleKeyFrame.EasingFunction>
|
|
</EasingDoubleKeyFrame>
|
|
</DoubleAnimationUsingKeyFrames>
|
|
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="Bd">
|
|
<EasingDoubleKeyFrame KeyTime="0" Value="0">
|
|
<EasingDoubleKeyFrame.EasingFunction>
|
|
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
|
|
</EasingDoubleKeyFrame.EasingFunction>
|
|
</EasingDoubleKeyFrame>
|
|
</DoubleAnimationUsingKeyFrames>
|
|
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Effect).(DropShadowEffect.Opacity)" Storyboard.TargetName="BdDropShadow">
|
|
<EasingDoubleKeyFrame KeyTime="0" Value="1">
|
|
<EasingDoubleKeyFrame.EasingFunction>
|
|
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
|
|
</EasingDoubleKeyFrame.EasingFunction>
|
|
</EasingDoubleKeyFrame>
|
|
</DoubleAnimationUsingKeyFrames>
|
|
</Storyboard>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateManager.VisualStateGroups>
|
|
<Grid x:Name="ContentGrid">
|
|
<Border x:Name="BdDropShadow" Margin="-15" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{DynamicResource SelectedItemHighlightColor}" SnapsToDevicePixels="true" CornerRadius="10" Visibility="Hidden">
|
|
<Border.Effect>
|
|
<BlurEffect Radius="10" KernelType="Gaussian"></BlurEffect>
|
|
</Border.Effect>
|
|
</Border>
|
|
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
|
</Grid>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsFocused" Value="true">
|
|
<Setter Property="Visibility" TargetName="BdDropShadow" Value="Visible"/>
|
|
<Setter Property="Panel.ZIndex" Value="5"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!--Item logos. -->
|
|
<Style TargetType="Image" x:Key="ItemLogo">
|
|
<Setter Property="Margin" Value="0 10 0 0"/>
|
|
<Setter Property="MaxHeight" Value="100"/>
|
|
<Setter Property="MaxWidth" Value="700"/>
|
|
<Setter Property="VerticalAlignment" Value="Top"/>
|
|
<Setter Property="HorizontalAlignment" Value="Left"/>
|
|
<Setter Property="Stretch" Value="Uniform"/>
|
|
</Style>
|
|
|
|
<!--Override PageContentTemplate-->
|
|
<ControlTemplate x:Key="PageContentTemplate">
|
|
|
|
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="0 10 0 0">
|
|
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="auto"></RowDefinition>
|
|
<RowDefinition Height="*"></RowDefinition>
|
|
</Grid.RowDefinitions>
|
|
|
|
<StackPanel x:Name="PageTitlePanel" Grid.Row="0" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="30 0 0 0">
|
|
</StackPanel>
|
|
|
|
<StackPanel x:Name="HeaderContent" Orientation="Horizontal" Panel.ZIndex="3" Grid.Row="0" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0 10 30 0">
|
|
|
|
<Button x:Name="NowPlayingButton" Style="{StaticResource ImageButton}" Margin="0 0 40 0" Visibility="Collapsed" Click="NowPlaying_Click">
|
|
<Image Source="..\Resources\Images\NowPlayingButton.png" />
|
|
</Button>
|
|
|
|
<Button x:Name="ViewButton" Style="{StaticResource ImageButton}" Margin="0 0 40 0" Visibility="Collapsed">
|
|
<Image Source="..\Resources\Images\ViewButton.png" />
|
|
</Button>
|
|
|
|
<Button Style="{StaticResource ImageButton}" Margin="0 0 40 0">
|
|
<Image Source="..\Resources\Images\SearchButton.png" />
|
|
</Button>
|
|
|
|
<Button Style="{StaticResource ImageButton}" Margin="0 0 50 0" Click="SettingsButtonClick">
|
|
<Image Source="..\Resources\Images\SettingsButton.png" />
|
|
</Button>
|
|
|
|
<!--Display CurrentUser-->
|
|
<StackPanel Orientation="Horizontal" Margin="0 0 50 0" Visibility="{Binding Path=CurrentUser,Converter={StaticResource CurrentUserVisibilityConverter},Mode=OneWay}">
|
|
<Button Style="{StaticResource ImageButton}">
|
|
<Image Height="64">
|
|
<Image.Style>
|
|
<Style TargetType="{x:Type Image}">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=CurrentUser.HasPrimaryImage,Mode=OneWay}" Value="true">
|
|
<Setter Property="Image.Source" Value="{Binding Path=CurrentUser,Converter={StaticResource UserImageConverter}, ConverterParameter='0,0,0,0',Mode=OneWay}" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Path=CurrentUser.HasPrimaryImage}" Value="false">
|
|
<Setter Property="Image.Source" Value="Images\CurrentUserDefault.png" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Image.Style>
|
|
</Image>
|
|
</Button>
|
|
</StackPanel>
|
|
|
|
<!--Display Weather-->
|
|
<StackPanel Orientation="Horizontal" Margin="0 0 50 0" Visibility="{Binding Path=CurrentWeather,Converter={StaticResource WeatherVisibilityConverter},Mode=OneWay}">
|
|
|
|
<TextBlock Style="{StaticResource Heading2TextBlockStyle}" Text="{Binding Path=CurrentWeather,Converter={StaticResource WeatherTemperatureConverter},Mode=OneWay}">
|
|
</TextBlock>
|
|
<Button Style="{StaticResource ImageButton}" Click="WeatherButtonClick">
|
|
<Image Source="{Binding Path=CurrentWeather,Converter={StaticResource WeatherImageConverter},Mode=OneWay}"></Image>
|
|
</Button>
|
|
</StackPanel>
|
|
|
|
<!--Display Clock-->
|
|
<TextBlock Style="{StaticResource Heading2TextBlockStyle}">
|
|
<TextBlock.Text>
|
|
<Binding Path="CurrentTime" Converter="{StaticResource DateTimeToStringConverter}" ConverterParameter="h:mm" />
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
<TextBlock Style="{StaticResource Heading2TextBlockStyle}" Foreground="#52B54B">
|
|
<TextBlock.Text>
|
|
<Binding Path="CurrentTime" Converter="{StaticResource DateTimeToStringConverter}" ConverterParameter="timesuffixlower" />
|
|
</TextBlock.Text>
|
|
</TextBlock>
|
|
</StackPanel>
|
|
|
|
<!--Add the frame to hold the pages. The UI core expects this to appear somewhere within the template.-->
|
|
<controls:TransitionFrame x:Name="PageFrame" Grid.Row="1">
|
|
<controls:TransitionFrame.TransitionAnimation>
|
|
<DoubleAnimation Duration="0:0:0.35" >
|
|
<DoubleAnimation.EasingFunction>
|
|
<ExponentialEase EasingMode="EaseInOut"></ExponentialEase>
|
|
</DoubleAnimation.EasingFunction>
|
|
</DoubleAnimation>
|
|
</controls:TransitionFrame.TransitionAnimation>
|
|
<controls:TransitionFrame.TransitionType>
|
|
<ee:SlideInTransitionEffect SlideDirection="RightToLeft"></ee:SlideInTransitionEffect>
|
|
</controls:TransitionFrame.TransitionType>
|
|
</controls:TransitionFrame>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
|
|
<DataTemplate x:Key="ItemSpecialFeaturesTemplate" DataType="{x:Type ViewModels:SpecialFeatureViewModel}">
|
|
<Grid HorizontalAlignment="Left">
|
|
|
|
<Border Width="{Binding Path=ImageWidth}" Height="{Binding Path=ImageHeight}">
|
|
<Border.Background>
|
|
<LinearGradientBrush SpreadMethod="Reflect" ColorInterpolationMode="SRgbLinearInterpolation" StartPoint="0,0" EndPoint="0,1" >
|
|
<GradientStop Color="#ff545358" Offset="0" />
|
|
<GradientStop Color="#ffCBCBCB" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Border.Background>
|
|
<Image>
|
|
<Image.Style>
|
|
<Style TargetType="{x:Type Image}">
|
|
<Setter Property="Stretch" Value="Uniform" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=Item.HasPrimaryImage}" Value="True">
|
|
<Setter Property="Source" Value="{Binding Path=Image}" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Path=Item.HasPrimaryImage}" Value="False">
|
|
<Setter Property="Source" Value="../Resources/Images/ChapterDefault.png" />
|
|
<Setter Property="VerticalAlignment" Value="Top" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Image.Style>
|
|
</Image>
|
|
</Border>
|
|
|
|
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
|
|
<Grid.Background>
|
|
<SolidColorBrush Color="#A6000000"></SolidColorBrush>
|
|
</Grid.Background>
|
|
<StackPanel Orientation="Vertical" Margin="10 5 0 10">
|
|
<TextBlock Foreground="White" Text="{Binding Path=Item.Name}" Style="{StaticResource TextBlockStyle}"></TextBlock>
|
|
<TextBlock Foreground="White" Text="{Binding Path=MinutesString}" Style="{StaticResource SmallTextBlockStyle}"></TextBlock>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="ItemPerformersTemplate" DataType="{x:Type ViewModels:DtoBaseItemViewModel}">
|
|
<Grid HorizontalAlignment="Left">
|
|
|
|
<TextBlock Text="{Binding Path=Item.Name}"></TextBlock>
|
|
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="ItemChaptersTemplate" DataType="{x:Type ViewModels:ChapterInfoDtoViewModel}">
|
|
<Grid HorizontalAlignment="Left">
|
|
|
|
<Border Width="{Binding Path=ImageWidth}" Height="{Binding Path=ImageHeight}">
|
|
<Border.Background>
|
|
<LinearGradientBrush SpreadMethod="Reflect" ColorInterpolationMode="SRgbLinearInterpolation" StartPoint="0,0" EndPoint="0,1" >
|
|
<GradientStop Color="#ff545358" Offset="0" />
|
|
<GradientStop Color="#ffCBCBCB" Offset="1" />
|
|
</LinearGradientBrush>
|
|
</Border.Background>
|
|
<Image>
|
|
<Image.Style>
|
|
<Style TargetType="{x:Type Image}">
|
|
<Setter Property="Stretch" Value="Uniform" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=Chapter.HasImage}" Value="True">
|
|
<Setter Property="Source" Value="{Binding Path=Image}" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Path=Chapter.HasImage}" Value="False">
|
|
<Setter Property="Source" Value="../Resources/Images/ChapterDefault.png" />
|
|
<Setter Property="VerticalAlignment" Value="Top" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Image.Style>
|
|
</Image>
|
|
</Border>
|
|
|
|
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
|
|
<Grid.Background>
|
|
<SolidColorBrush Color="#A6000000"></SolidColorBrush>
|
|
</Grid.Background>
|
|
<StackPanel Orientation="Vertical" Margin="10 5 0 10">
|
|
<TextBlock Foreground="White" Text="{Binding Path=Chapter.Name}" Style="{StaticResource TextBlockStyle}"></TextBlock>
|
|
<TextBlock Foreground="White" Text="{Binding Path=TimeString}" Style="{StaticResource SmallTextBlockStyle}"></TextBlock>
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="ItemGalleryTemplate" DataType="{x:Type BitmapImage}">
|
|
<Image Source="{Binding}" Height="297" VerticalAlignment="Center" HorizontalAlignment="Center">
|
|
|
|
</Image>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="ListPageItemTemplate" DataType="{x:Type ViewModels:DtoBaseItemViewModel}">
|
|
<themecontrols:BaseItemTile DataContext="{Binding}"></themecontrols:BaseItemTile>
|
|
</DataTemplate>
|
|
|
|
<!--List Page ListBox. -->
|
|
<Style TargetType="controls:ExtendedListBox" x:Key="ListPageListBoxStyle" BasedOn="{StaticResource ListBoxStyle}">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Path=DisplayPreferences.ViewType,Mode=OneWay}" Value="Poster">
|
|
<Setter Property="ItemTemplate" Value="{StaticResource ListPageItemTemplate}"></Setter>
|
|
<Setter Property="ItemsPanel">
|
|
<Setter.Value>
|
|
<ItemsPanelTemplate>
|
|
<controls:VirtualizingWrapPanel ItemHeight="{Binding Path=DisplayPreferences.PrimaryImageHeight,Mode=OneWay}" ItemWidth="{Binding Path=DisplayPreferences.PrimaryImageWidth,Mode=OneWay}" Orientation="{Binding WrapPanelOrientation}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="20 50 20 50">
|
|
</controls:VirtualizingWrapPanel>
|
|
</ItemsPanelTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Path=DisplayPreferences.ViewType,Mode=OneWay}" Value="CoverFlow">
|
|
<Setter Property="ItemTemplate" Value="{StaticResource ListPageItemTemplate}"></Setter>
|
|
<Setter Property="ItemsPanel">
|
|
<Setter.Value>
|
|
<ItemsPanelTemplate>
|
|
<VirtualizingStackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="50"></VirtualizingStackPanel>
|
|
</ItemsPanelTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Path=DisplayPreferences.ViewType,Mode=OneWay}" Value="ThumbStrip">
|
|
<Setter Property="ItemTemplate" Value="{StaticResource ListPageItemTemplate}"></Setter>
|
|
<Setter Property="ItemsPanel">
|
|
<Setter.Value>
|
|
<ItemsPanelTemplate>
|
|
<VirtualizingStackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="50"></VirtualizingStackPanel>
|
|
</ItemsPanelTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Path=DisplayPreferences.ViewType}" Value="List">
|
|
<Setter Property="ItemTemplate" Value="{StaticResource ListPageItemTemplate}"></Setter>
|
|
<Setter Property="ItemsPanel">
|
|
<Setter.Value>
|
|
<ItemsPanelTemplate>
|
|
<VirtualizingStackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="50"></VirtualizingStackPanel>
|
|
</ItemsPanelTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<Style TargetType="Button" x:Key="TextButton" BasedOn="{StaticResource ImageButton}">
|
|
<Setter Property="HorizontalAlignment" Value="Left"></Setter>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type Button}">
|
|
<Border x:Name="Border" Background="{TemplateBinding Background}" BorderThickness="0 0 0 2" BorderBrush="Transparent">
|
|
<ContentPresenter x:Name="contentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsKeyboardFocused" Value="true">
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="White" />
|
|
</Trigger>
|
|
<Trigger Property="IsFocused" Value="true">
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="White" />
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="White" />
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="true">
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="Gray" />
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter TargetName="Border" Property="Opacity" Value=".2" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="Button" x:Key="ViewMenuButton" BasedOn="{StaticResource ImageButton}">
|
|
<Setter Property="HorizontalAlignment" Value="Left"></Setter>
|
|
<Setter Property="Margin" Value="0 15 0 0"></Setter>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type Button}">
|
|
<Border x:Name="Border" Background="{TemplateBinding Background}" BorderThickness="2" BorderBrush="Transparent" Padding="0 5 20 5">
|
|
<ContentPresenter x:Name="contentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsKeyboardFocused" Value="true">
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="White" />
|
|
</Trigger>
|
|
<Trigger Property="IsFocused" Value="true">
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="White" />
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="White" />
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="true">
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="Gray" />
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter TargetName="Border" Property="Opacity" Value=".2" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<LinearGradientBrush x:Key="PressedBrush" StartPoint="0,0" EndPoint="0,1">
|
|
<GradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Color="#444" Offset="0.0"/>
|
|
<GradientStop Color="#888" Offset="0.1"/>
|
|
<GradientStop Color="#EEE" Offset="0.9"/>
|
|
<GradientStop Color="#FFF" Offset="1.0"/>
|
|
</GradientStopCollection>
|
|
</GradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
|
|
<!-- Miscellaneous Brushes -->
|
|
<SolidColorBrush x:Key="GlyphBrush" Color="#ffffff" />
|
|
<SolidColorBrush x:Key="FocusBackgroundBrush" Color="#ffffff" />
|
|
<SolidColorBrush x:Key="FocusGlyphBrush" Color="#022255" />
|
|
<SolidColorBrush x:Key="NormalBackgroundBrush" Color="Transparent" />
|
|
<SolidColorBrush x:Key="NormalBorderBrush" Color="#ffffff" />
|
|
|
|
<Style TargetType="RadioButton" x:Key="RadioButtonStyle">
|
|
<Setter Property="HorizontalAlignment" Value="Left"></Setter>
|
|
<Setter Property="BorderBrush" Value="Transparent"></Setter>
|
|
<Setter Property="BorderThickness" Value="2"></Setter>
|
|
<Setter Property="KeyboardNavigation.AcceptsReturn" Value="true"/>
|
|
<Setter Property="SnapsToDevicePixels" Value="true"/>
|
|
<Setter Property="OverridesDefaultStyle" Value="true"/>
|
|
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type RadioButton}">
|
|
<BulletDecorator Background="Transparent">
|
|
<BulletDecorator.Bullet>
|
|
<Grid Width="32" Height="32" VerticalAlignment="Center">
|
|
<Ellipse x:Name="Border" Fill="{StaticResource NormalBackgroundBrush}" StrokeThickness="3" Stroke="{StaticResource NormalBorderBrush}" />
|
|
<Ellipse x:Name="CheckMark" Margin="8" Fill="{StaticResource GlyphBrush}" />
|
|
</Grid>
|
|
</BulletDecorator.Bullet>
|
|
<ContentPresenter Margin="20,0,0,0" HorizontalAlignment="Left" RecognizesAccessKey="True"/>
|
|
</BulletDecorator>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsKeyboardFocused" Value="true">
|
|
<Setter TargetName="Border" Property="Fill" Value="{StaticResource FocusBackgroundBrush}" />
|
|
<Setter TargetName="CheckMark" Property="Fill" Value="{StaticResource FocusGlyphBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsFocused" Value="true">
|
|
<Setter TargetName="Border" Property="Fill" Value="{StaticResource FocusBackgroundBrush}" />
|
|
<Setter TargetName="CheckMark" Property="Fill" Value="{StaticResource FocusGlyphBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="false">
|
|
<Setter TargetName="CheckMark" Property="Visibility" Value="Collapsed"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter TargetName="Border" Property="Fill" Value="{StaticResource FocusBackgroundBrush}" />
|
|
<Setter TargetName="CheckMark" Property="Fill" Value="{StaticResource FocusGlyphBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="true">
|
|
<Setter TargetName="Border" Property="Fill" Value="{StaticResource PressedBrush}" />
|
|
<Setter TargetName="Border" Property="Stroke" Value="{StaticResource GlyphBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter TargetName="Border" Property="Fill" Value="#eeeeee" />
|
|
<Setter TargetName="Border" Property="Stroke" Value="#40000000" />
|
|
<Setter Property="Foreground" Value="#80000000"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="RadioButton" x:Key="ViewMenuRadioButton" BasedOn="{StaticResource RadioButtonStyle}">
|
|
<Setter Property="Margin" Value="0 25 0 0"></Setter>
|
|
</Style>
|
|
|
|
<LinearGradientBrush x:Key="PressedBorderBrush" StartPoint="0,0" EndPoint="0,1">
|
|
<GradientBrush.GradientStops>
|
|
<GradientStopCollection>
|
|
<GradientStop Color="#444" Offset="0.0"/>
|
|
<GradientStop Color="#888" Offset="1.0"/>
|
|
</GradientStopCollection>
|
|
</GradientBrush.GradientStops>
|
|
</LinearGradientBrush>
|
|
|
|
<SolidColorBrush x:Key="DisabledBackgroundBrush" Color="#EEE" />
|
|
<SolidColorBrush x:Key="DisabledBorderBrush" Color="#AAA" />
|
|
<SolidColorBrush x:Key="DisabledForegroundBrush" Color="#888" />
|
|
|
|
<Style TargetType="CheckBox" x:Key="CheckBoxStyle">
|
|
<Setter Property="SnapsToDevicePixels" Value="true"/>
|
|
<Setter Property="OverridesDefaultStyle" Value="true"/>
|
|
<Setter Property="KeyboardNavigation.AcceptsReturn" Value="true"/>
|
|
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="CheckBox">
|
|
<BulletDecorator Background="Transparent">
|
|
<BulletDecorator.Bullet>
|
|
<Border x:Name="Border" Width="32" Height="32" CornerRadius="0" Background="{StaticResource NormalBackgroundBrush}" BorderThickness="3" BorderBrush="{StaticResource NormalBorderBrush}">
|
|
<Path Width="15" Height="15" VerticalAlignment="Center" HorizontalAlignment="Center" x:Name="CheckMark" SnapsToDevicePixels="False" Stroke="{StaticResource GlyphBrush}" StrokeThickness="10" Data="M 0 0 L 7 7 M 0 7 L 7 0" />
|
|
</Border>
|
|
</BulletDecorator.Bullet>
|
|
<ContentPresenter Margin="20,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left" RecognizesAccessKey="True"/>
|
|
</BulletDecorator>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsChecked" Value="false">
|
|
<Setter TargetName="CheckMark" Property="Visibility" Value="Collapsed"/>
|
|
</Trigger>
|
|
<Trigger Property="IsKeyboardFocused" Value="true">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource FocusBackgroundBrush}" />
|
|
<Setter TargetName="CheckMark" Property="Stroke" Value="{StaticResource FocusGlyphBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsFocused" Value="true">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource FocusBackgroundBrush}" />
|
|
<Setter TargetName="CheckMark" Property="Stroke" Value="{StaticResource FocusGlyphBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="{x:Null}">
|
|
<Setter TargetName="CheckMark" Property="Data" Value="M 0 7 L 7 0" />
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource FocusBackgroundBrush}" />
|
|
<Setter TargetName="CheckMark" Property="Stroke" Value="{StaticResource FocusGlyphBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="true">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource PressedBrush}" />
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="{StaticResource PressedBorderBrush}" />
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter TargetName="Border" Property="Background" Value="{StaticResource DisabledBackgroundBrush}" />
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="{StaticResource DisabledBorderBrush}" />
|
|
<Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
</ResourceDictionary> |