Newer
Older
Correlator / PipeGallery / App.xaml
<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>