109 lines
8.4 KiB
XML
109 lines
8.4 KiB
XML
<UserControl x:Class="HandyControl.Controls.ColorPicker"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:interactivity="clr-namespace:HandyControl.Interactivity"
|
|
xmlns:controls="clr-namespace:HandyControl.Controls"
|
|
mc:Ignorable="d"
|
|
Name="UserControlMain"
|
|
Width="230"
|
|
xmlns:langs="clr-namespace:HandyControl.Properties.Langs"
|
|
UseLayoutRounding="True">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="122"/>
|
|
<RowDefinition Height="110"/>
|
|
<RowDefinition Height="62"/>
|
|
<RowDefinition Height="62"/>
|
|
</Grid.RowDefinitions>
|
|
<Border BorderThickness="1" BorderBrush="{StaticResource BorderBrush}" Grid.RowSpan="4" Background="White" CornerRadius="{Binding CornerRadius,ElementName=UserControlMain}"/>
|
|
<Grid Margin="1" Grid.Row="0" Name="GridColor">
|
|
<Border Background="{Binding BackColor,ElementName=UserControlMain}"/>
|
|
<Border>
|
|
<Border.Background>
|
|
<LinearGradientBrush EndPoint="0,0.5" StartPoint="1,0.5">
|
|
<GradientStop Color="White" Offset="1"/>
|
|
<GradientStop Color="Transparent"/>
|
|
</LinearGradientBrush>
|
|
</Border.Background>
|
|
</Border>
|
|
<Border>
|
|
<Border.Background>
|
|
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
|
<GradientStop Color="Black" Offset="1"/>
|
|
<GradientStop Color="#aa000000" Offset=".6"/>
|
|
<GradientStop Color="#22000000" Offset=".2"/>
|
|
<GradientStop Color="Transparent"/>
|
|
</LinearGradientBrush>
|
|
</Border.Background>
|
|
</Border>
|
|
</Grid>
|
|
<Border Name="BorderColor" Grid.Row="0" CornerRadius="2,2,0,0" ClipToBounds="True">
|
|
<Canvas Margin="-6">
|
|
<Border Name="BorderPicker" Background="Transparent" Height="12" CornerRadius="6" Width="12" BorderThickness="1" BorderBrush="White">
|
|
<Border.Effect>
|
|
<DropShadowEffect ShadowDepth="0" Opacity=".4"/>
|
|
</Border.Effect>
|
|
</Border>
|
|
</Canvas>
|
|
</Border>
|
|
<Border Grid.Row="0" Background="Transparent" Name="BorderDrag">
|
|
<interactivity:Interaction.Behaviors>
|
|
<interactivity:MouseDragElementBehavior DragFinished="MouseDragElementBehavior_OnDragFinished" DragBegun="MouseDragElementBehavior_OnDragging" Dragging="MouseDragElementBehavior_OnDragging"/>
|
|
</interactivity:Interaction.Behaviors>
|
|
</Border>
|
|
<Grid Margin="16,16,10,0" Grid.Row="1">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition Width="28"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Border Width="60" Height="32" CornerRadius="2" Background="{StaticResource ColorPickerOpacityBrush}" BorderBrush="{StaticResource BorderBrush}" BorderThickness="1"/>
|
|
<Border Grid.Row="0" Grid.Column="0" Width="60" Height="32" CornerRadius="2" Background="{Binding SelectedBrush,ElementName=UserControlMain}" BorderBrush="{StaticResource BorderBrush}" BorderThickness="1"/>
|
|
<Slider Name="SliderColor" LargeChange="0.01" SmallChange="0.01" Grid.ColumnSpan="2" ValueChanged="SliderColor_OnValueChanged" Value="6" Maximum="6" Background="{StaticResource ColorPickerRainbowBrush}" Margin="10,1,0,0" Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" Style="{StaticResource ColorPickerSlider}" IsMoveToPointEnabled="True"/>
|
|
<Slider Grid.ColumnSpan="2" IsSnapToTickEnabled="True" Name="SliderOpacity" ValueChanged="SliderOpacity_OnValueChanged" Value="255" Maximum="255" SmallChange="1" Foreground="{Binding SelectedBrushWithoutOpacity,ElementName=UserControlMain}" Background="{StaticResource ColorPickerOpacityBrush}" Margin="10,0,0,0" Grid.Row="0" Grid.Column="1" VerticalAlignment="Bottom" Style="{StaticResource ColorPickerSlider}" IsMoveToPointEnabled="True"/>
|
|
<StackPanel Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Margin="0,14,0,0" VerticalAlignment="Top" Visibility="{Binding ShowList[0],ElementName=UserControlMain,Converter={StaticResource Boolean2VisibilityConverter}}">
|
|
<TextBox Padding="0" HorizontalContentAlignment="Center" Width="176" Text="{Binding SelectedBrush,ElementName=UserControlMain,Mode=TwoWay,Converter={StaticResource Color2HexStrConverter},UpdateSourceTrigger=LostFocus}" FontSize="10" MaxLength="10" Height="24" />
|
|
<TextBlock Foreground="{StaticResource ThirdlyTextBrush}" Margin="0,6,0,0" FontSize="10" Text="HEX" HorizontalAlignment="Center"/>
|
|
</StackPanel>
|
|
<UniformGrid controls:NumericUpDown.ValueChanged="NumericUpDownRgb_OnValueChanged" Visibility="{Binding ShowList[1],ElementName=UserControlMain,Converter={StaticResource Boolean2VisibilityConverter}}" Rows="1" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Margin="-2,14,-2,0" VerticalAlignment="Top">
|
|
<StackPanel Margin="2,0">
|
|
<controls:NumericUpDown HorizontalContentAlignment="Center" Padding="0" Tag="R" x:Name="ChannelR" Value="255" ShowUpDownButton="False" Maximum="255" Minimum="0" FontSize="10" Height="24" />
|
|
<TextBlock Foreground="{StaticResource ThirdlyTextBrush}" Margin="0,6,0,0" FontSize="10" Text="R" HorizontalAlignment="Center"/>
|
|
</StackPanel>
|
|
<StackPanel Margin="2,0">
|
|
<controls:NumericUpDown HorizontalContentAlignment="Center" Padding="0" Tag="G" x:Name="ChannelG" Value="255" ShowUpDownButton="False" Maximum="255" Minimum="0" FontSize="10" Height="24" />
|
|
<TextBlock Foreground="{StaticResource ThirdlyTextBrush}" Margin="0,6,0,0" FontSize="10" Text="G" HorizontalAlignment="Center"/>
|
|
</StackPanel>
|
|
<StackPanel Margin="2,0">
|
|
<controls:NumericUpDown HorizontalContentAlignment="Center" Padding="0" Tag="B" x:Name="ChannelB" Value="255" ShowUpDownButton="False" Maximum="255" Minimum="0" FontSize="10" Height="24" />
|
|
<TextBlock Foreground="{StaticResource ThirdlyTextBrush}" Margin="0,6,0,0" FontSize="10" Text="B" HorizontalAlignment="Center"/>
|
|
</StackPanel>
|
|
<StackPanel Margin="2,0">
|
|
<controls:NumericUpDown HorizontalContentAlignment="Center" Padding="0" Value="{Binding Value,ElementName=SliderOpacity,Mode=TwoWay}" ShowUpDownButton="False" Maximum="255" Minimum="0" FontSize="10" Height="24" />
|
|
<TextBlock Foreground="{StaticResource ThirdlyTextBrush}" Margin="0,6,0,0" FontSize="10" Text="A" HorizontalAlignment="Center"/>
|
|
</StackPanel>
|
|
</UniformGrid>
|
|
<Button Click="ButtonSwitch_OnClick" Padding="6" FontSize="8" BorderThickness="0" Foreground="#323534" HorizontalAlignment="Right" Height="24" Width="20" Grid.Column="2" Grid.Row="1">
|
|
<Button.Content>
|
|
<Path Fill="#323534" Style="{StaticResource UpDownPathStyle}"/>
|
|
</Button.Content>
|
|
</Button>
|
|
</Grid>
|
|
<Border Grid.Row="2" BorderThickness="0,1,0,0" BorderBrush="{StaticResource BorderBrush}">
|
|
<WrapPanel Name="PanelColor" Margin="12,12,0,12" HorizontalAlignment="Center"/>
|
|
</Border>
|
|
<Border Grid.Row="3" BorderThickness="0,1,0,0" BorderBrush="{StaticResource BorderBrush}">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
|
|
<Button Click="ButtonCancel_OnClick" Content="{x:Static langs:Lang.Cancel}" Width="80" Margin="0,0,16,0"/>
|
|
<Button Click="ButtonSure_OnClick" Content="{x:Static langs:Lang.Confirm}" Width="80" Style="{StaticResource ButtonPrimary}"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</Grid>
|
|
</UserControl>
|