<Application x:Class="PipeGallery.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero" xmlns:local="clr-namespace:ONIX.Control" StartupUri="MainWindow.xaml"> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/PipeGallery;component/Style/Button.xaml" /> <ResourceDictionary Source="pack://application:,,,/PipeGallery;component/Style/ListBox.xaml" /> <ResourceDictionary Source="pack://application:,,,/PipeGallery;component/Style/CheckBox.xaml" /> <ResourceDictionary Source="pack://application:,,,/PipeGallery;component/Style/RadioButton.xaml" /> <ResourceDictionary Source="pack://application:,,,/PipeGallery;component/Style/Slider.xaml" /> </ResourceDictionary.MergedDictionaries> <local:NullOrEmptyStringToVisibilityConverter x:Key="NullOrEmptyStringtoVisibilityConverter" NotNullOrEmpty="Collapsed" NullOrEmpty="Visible" /> <LinearGradientBrush x:Key="TextBoxBorder" MappingMode="Absolute" StartPoint="0,0" EndPoint="0,20"> <GradientStop Offset="0.05" Color="#ABADB3" /> <GradientStop Offset="0.07" Color="#E2E3EA" /> <GradientStop Offset="1" Color="#E3E9EF" /> </LinearGradientBrush> <Style TargetType="{x:Type local:WatermarkTextBox}"> <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" /> <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" /> <Setter Property="BorderBrush" Value="{DynamicResource TextBoxBorder}" /> <Setter Property="BorderThickness" Value="1" /> <Setter Property="Padding" Value="1" /> <Setter Property="AllowDrop" Value="true" /> <Setter Property="FocusVisualStyle" Value="{x:Null}" /> <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst" /> <Setter Property="Stylus.IsFlicksEnabled" Value="False" /> <Setter Property="VerticalContentAlignment" Value="Center" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type local:WatermarkTextBox}"> <Microsoft_Windows_Themes:ListBoxChrome x:Name="Bd" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" RenderFocused="{TemplateBinding IsKeyboardFocusWithin}" RenderMouseOver="{TemplateBinding IsMouseOver}" SnapsToDevicePixels="true"> <Grid> <TextBlock Margin="{TemplateBinding Padding}" Padding="5,0,0,0" VerticalAlignment="Center" FontStyle="Normal" Foreground="#b4b4b4" IsHitTestVisible="False" Style="{TemplateBinding WatermarkStyle}" Text="{TemplateBinding Watermark}" Visibility="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Text, Converter={StaticResource NullOrEmptyStringtoVisibilityConverter}}" /> <ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> </Grid> </Microsoft_Windows_Themes:ListBoxChrome> <ControlTemplate.Triggers> <Trigger Property="IsEnabled" Value="false"> <Setter TargetName="Bd" Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" /> <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style x:Key="ScrollViewerStyle" TargetType="{x:Type ScrollViewer}"> <Setter Property="OverridesDefaultStyle" Value="True" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ScrollViewer}"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Border Grid.Column="0" Background="Transparent" BorderThickness="0,0,0,0"> <Border.BorderBrush> <SolidColorBrush Color="{DynamicResource BorderMediumColor}" /> </Border.BorderBrush> <ScrollContentPresenter /> </Border> <ScrollBar x:Name="PART_VerticalScrollBar" Grid.Column="0" Margin="0,0,5,5" HorizontalAlignment="Right" Maximum="{TemplateBinding ScrollableHeight}" ViewportSize="{TemplateBinding ViewportHeight}" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{TemplateBinding VerticalOffset}" /> <ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Row="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" ViewportSize="{TemplateBinding ViewportWidth}" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{TemplateBinding HorizontalOffset}" /> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> <!-- 滚动条 --> <SolidColorBrush x:Key="HoverBorderBrush" Color="Transparent" /> <SolidColorBrush x:Key="DisabledForegroundBrush" Color="Transparent" /> <SolidColorBrush x:Key="NormalBrush" Color="Transparent" /> <SolidColorBrush x:Key="NormalBorderBrush" Color="Transparent" /> <SolidColorBrush x:Key="HorizontalNormalBrush" Color="#51A1FF" /> <SolidColorBrush x:Key="HorizontalNormalBorderBrush" Color="AliceBlue" /> <LinearGradientBrush x:Key="ListBoxBackgroundBrush" StartPoint="0,0" EndPoint="1,0.001"> <GradientBrush.GradientStops> <GradientStopCollection> <GradientStop Offset="0.0" Color="Transparent" /> <GradientStop Offset="0.6" Color="Gray" /> <GradientStop Offset="1.2" Color="Transparent" /> </GradientStopCollection> </GradientBrush.GradientStops> </LinearGradientBrush> <LinearGradientBrush x:Key="StandardBrush" StartPoint="0,0" EndPoint="0,1"> <GradientBrush.GradientStops> <GradientStopCollection> <GradientStop Offset="0.0" Color="Transparent" /> <GradientStop Offset="1.0" Color="Transparent" /> </GradientStopCollection> </GradientBrush.GradientStops> </LinearGradientBrush> <SolidColorBrush x:Key="GlyphBrush" Color="Transparent" /> <LinearGradientBrush x:Key="PressedBrush" StartPoint="0,0" EndPoint="0,1"> <GradientBrush.GradientStops> <GradientStopCollection> <GradientStop Offset="0.0" Color="Transparent" /> <GradientStop Offset="0.1" Color="Transparent" /> <GradientStop Offset="0.9" Color="Transparent" /> <GradientStop Offset="1.0" Color="Transparent" /> </GradientStopCollection> </GradientBrush.GradientStops> </LinearGradientBrush> <Style x:Key="ScrollBarLineButton" TargetType="{x:Type RepeatButton}"> <Setter Property="SnapsToDevicePixels" Value="True" /> <Setter Property="OverridesDefaultStyle" Value="true" /> <Setter Property="Focusable" Value="false" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type RepeatButton}"> <Border Name="Border" Margin="1" Background="{StaticResource GlyphBrush}" BorderBrush="{StaticResource GlyphBrush}" BorderThickness="1" CornerRadius="10"> <Path HorizontalAlignment="Right" VerticalAlignment="Center" Data="{Binding Path=Content, RelativeSource={RelativeSource TemplatedParent}}" Fill="{StaticResource GlyphBrush}" /> </Border> <ControlTemplate.Triggers> <Trigger Property="IsPressed" Value="true"> <Setter TargetName="Border" Property="Background" Value="{StaticResource PressedBrush}" /> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Foreground" Value="{StaticResource GlyphBrush}" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style x:Key="ScrollBarPageButton" TargetType="{x:Type RepeatButton}"> <Setter Property="SnapsToDevicePixels" Value="True" /> <Setter Property="OverridesDefaultStyle" Value="true" /> <Setter Property="IsTabStop" Value="false" /> <Setter Property="Focusable" Value="false" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type RepeatButton}"> <Border Background="Transparent" /> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style x:Key="ScrollBarThumb" TargetType="{x:Type Thumb}"> <Setter Property="SnapsToDevicePixels" Value="True" /> <Setter Property="OverridesDefaultStyle" Value="true" /> <Setter Property="IsTabStop" Value="false" /> <Setter Property="Focusable" Value="false" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Thumb}"> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0" CornerRadius="5" /> </ControlTemplate> </Setter.Value> </Setter> </Style> <ControlTemplate x:Key="VerticalScrollBar" TargetType="{x:Type ScrollBar}"> <Grid> <Grid.RowDefinitions> <RowDefinition MaxHeight="1" /> <RowDefinition Height="0.00001*" /> <RowDefinition MaxHeight="1" /> </Grid.RowDefinitions> <Border Grid.RowSpan="3" Background="Transparent" CornerRadius="16" /> <Track Name="PART_Track" Grid.Row="1" IsDirectionReversed="true" ViewportSize="90"> <Track.DecreaseRepeatButton> <RepeatButton Command="ScrollBar.PageUpCommand" Style="{StaticResource ScrollBarPageButton}" /> </Track.DecreaseRepeatButton> <Track.Thumb> <Thumb Margin="0,0,1,0" Background="{StaticResource HorizontalNormalBrush}" BorderBrush="{StaticResource HorizontalNormalBorderBrush}" Style="{StaticResource ScrollBarThumb}" /> </Track.Thumb> <Track.IncreaseRepeatButton> <RepeatButton Command="ScrollBar.PageDownCommand" Style="{StaticResource ScrollBarPageButton}" /> </Track.IncreaseRepeatButton> </Track> </Grid> </ControlTemplate> <ControlTemplate x:Key="HorizontalScrollBar" TargetType="{x:Type ScrollBar}"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition MaxWidth="18" /> <ColumnDefinition Width="0.000001*" /> <ColumnDefinition MaxWidth="18" /> </Grid.ColumnDefinitions> <Border Grid.ColumnSpan="3" Background="Black" CornerRadius="2" /> <RepeatButton Grid.Column="0" Width="10" Command="ScrollBar.LineLeftCommand" Content="M 4 0 L 4 8 L 0 4 Z" Style="{StaticResource ScrollBarLineButton}" /> <Track Name="PART_Track" Grid.Column="1" IsDirectionReversed="False" ViewportSize="150"> <Track.DecreaseRepeatButton> <RepeatButton Command="ScrollBar.PageLeftCommand" Style="{StaticResource ScrollBarPageButton}" /> </Track.DecreaseRepeatButton> <Track.Thumb> <Thumb Margin="0,1,0,1" Background="{StaticResource NormalBrush}" BorderBrush="{StaticResource NormalBorderBrush}" Style="{StaticResource ScrollBarThumb}" /> </Track.Thumb> <Track.IncreaseRepeatButton> <RepeatButton Command="ScrollBar.PageRightCommand" Style="{StaticResource ScrollBarPageButton}" /> </Track.IncreaseRepeatButton> </Track> <RepeatButton Grid.Column="3" Width="18" Command="ScrollBar.LineRightCommand" Content="M 0 0 L 4 4 L 0 8 Z" Style="{StaticResource ScrollBarLineButton}" /> </Grid> </ControlTemplate> <Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}"> <Setter Property="SnapsToDevicePixels" Value="True" /> <Setter Property="ContextMenu" Value="{x:Null}" /> <Setter Property="OverridesDefaultStyle" Value="true" /> <Style.Triggers> <Trigger Property="Orientation" Value="Horizontal"> <Setter Property="Width" Value="Auto" /> <Setter Property="Height" Value="8" /> <Setter Property="Template" Value="{StaticResource HorizontalScrollBar}" /> </Trigger> <Trigger Property="Orientation" Value="Vertical"> <Setter Property="Width" Value="14" /> <Setter Property="Height" Value="Auto" /> <Setter Property="Template" Value="{StaticResource VerticalScrollBar}" /> </Trigger> </Style.Triggers> </Style> </ResourceDictionary> </Application.Resources> </Application>