design: 슬라이더 스타일 정의 및 적용

prototype
HyungJune Kim 7 months ago
parent c880f493f0
commit 6197df6be2

@ -662,4 +662,67 @@
</Setter.Value> </Setter.Value>
</Setter> </Setter>
</Style> </Style>
<SolidColorBrush x:Key="CustomSliderBackgroundSolidColorBrush" Color="#1D3649" />
<SolidColorBrush x:Key="CustomSliderForegroundBrush" Color="#4178BE" />
<SolidColorBrush x:Key="CustomSliderThumBrush" Color="#E5E5E8" />
<Style x:Key="CustomSliderThumbStyle" TargetType="{x:Type Thumb}">
<Setter Property="Focusable" Value="false"/>
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Height" Value="16"/>
<Setter Property="Width" Value="16"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<Canvas SnapsToDevicePixels="true">
<Border x:Name="Background"
Background="{StaticResource CustomSliderThumBrush}"
BorderBrush="#4dffffff"
BorderThickness="2"
Height="16" Width="16"
CornerRadius="25"/>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ControlTemplate x:Key="CustomSliderControlTemplate" TargetType="{x:Type Slider}">
<Border Background="Transparent" SnapsToDevicePixels="True">
<Grid>
<DockPanel LastChildFill="True">
<Border x:Name="PART_SelectionRange" Height="8" ClipToBounds="True" Visibility="Visible">
<Rectangle Margin="0 0 -10 0" RadiusX="5" RadiusY="5" Fill="{StaticResource CustomSliderForegroundBrush}"/>
</Border>
<Border ClipToBounds="True" Height="8" Visibility="Visible">
<Rectangle Margin="0 0 0 0" RadiusX="5" RadiusY="5" Fill="{StaticResource CustomSliderBackgroundSolidColorBrush}" />
</Border>
</DockPanel>
<Track x:Name="PART_Track">
<Track.Thumb>
<Thumb Style="{StaticResource CustomSliderThumbStyle}" VerticalAlignment="Center"
OverridesDefaultStyle="True" Focusable="False" />
</Track.Thumb>
</Track>
</Grid>
</Border>
</ControlTemplate>
<Style x:Key="CustomSliderStyle" TargetType="{x:Type Slider}">
<Setter Property="Template" Value="{StaticResource CustomSliderControlTemplate}" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Height" Value="30" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="AutoToolTipPlacement" Value="None" />
<Setter Property="IsMoveToPointEnabled" Value="True" />
<Setter Property="IsSelectionRangeEnabled" Value="True" />
<Setter Property="SelectionStart" Value="0" />
<Setter Property="SelectionEnd" Value="{Binding Path=Value, RelativeSource={RelativeSource Self}}" />
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
</Style>
</ResourceDictionary> </ResourceDictionary>

@ -193,7 +193,7 @@
helper:DataGridAutoPageSizeBehavior.Enable="True" helper:DataGridAutoPageSizeBehavior.Enable="True"
helper:DataGridAutoPageSizeBehavior.Suspend="{Binding IsOpenMode}" helper:DataGridAutoPageSizeBehavior.Suspend="{Binding IsOpenMode}"
helper:DataGridAutoPageSizeBehavior.ThrottleMs="120" helper:DataGridAutoPageSizeBehavior.ThrottleMs="120"
Grid.Row="1" Margin="15 0 15 0" Grid.Row="1" Margin="0"
Background="Transparent" Background="Transparent"
RowStyle="{StaticResource DataGridRowStyle}" RowStyle="{StaticResource DataGridRowStyle}"
ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}"> ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}">
@ -322,7 +322,7 @@
helper:DataGridAutoPageSizeBehavior.Enable="True" helper:DataGridAutoPageSizeBehavior.Enable="True"
helper:DataGridAutoPageSizeBehavior.Pager="{Binding TanksPager}" helper:DataGridAutoPageSizeBehavior.Pager="{Binding TanksPager}"
helper:DataGridAutoPageSizeBehavior.Suspend="{Binding IsOpenMode}" helper:DataGridAutoPageSizeBehavior.Suspend="{Binding IsOpenMode}"
Grid.Row="1" Margin="15 0 15 0" Grid.Row="1" Margin="0"
Background="Transparent" Background="Transparent"
VerticalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
RowStyle="{StaticResource DataGridRowStyle}" RowStyle="{StaticResource DataGridRowStyle}"
@ -567,7 +567,7 @@
</Style> </Style>
</Grid.Resources> </Grid.Resources>
<StackPanel> <StackPanel>
<Grid Margin="24 24 24 16"> <Grid Margin="24 24 24 8">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="110"/> <ColumnDefinition Width="110"/>
<ColumnDefinition/> <ColumnDefinition/>
@ -583,7 +583,7 @@
helper:ComboBoxHelper.SelectFirstOnItemsChange="True" helper:ComboBoxHelper.SelectFirstOnItemsChange="True"
IsEditable="False" IsTextSearchEnabled="False"/> IsEditable="False" IsTextSearchEnabled="False"/>
</Grid> </Grid>
<Grid Margin="24 0 24 16"> <Grid Margin="24 0 24 8">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="110"/> <ColumnDefinition Width="110"/>
<ColumnDefinition/> <ColumnDefinition/>
@ -598,7 +598,7 @@
DisplayMemberPath="Display"/> DisplayMemberPath="Display"/>
</Grid> </Grid>
<Grid Margin="24 0 24 16" Style="{StaticResource VisibleWhenTank}"> <Grid Margin="24 0 24 8" Style="{StaticResource VisibleWhenTank}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="110"/> <ColumnDefinition Width="110"/>
<ColumnDefinition/> <ColumnDefinition/>
@ -682,7 +682,7 @@
<!-- LINE --> <!-- LINE -->
<StackPanel Style="{StaticResource VisibleWhenLine}"> <StackPanel Style="{StaticResource VisibleWhenLine}">
<Grid Style="{StaticResource VisibleWhenLine}"> <Grid Style="{StaticResource VisibleWhenLine}" Margin="0 0 0 8">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="110"/> <ColumnDefinition Width="110"/>
<ColumnDefinition/> <ColumnDefinition/>
@ -700,7 +700,7 @@
<!--STEP--> <!--STEP-->
<StackPanel Style="{StaticResource VisibleWhenStep}"> <StackPanel Style="{StaticResource VisibleWhenStep}">
<Grid Margin="0 5 0 10"> <Grid Margin="0 0 0 8">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="110"/> <ColumnDefinition Width="110"/>
<ColumnDefinition/> <ColumnDefinition/>
@ -727,7 +727,7 @@
</StackPanel> </StackPanel>
</Grid> </Grid>
<Grid Margin="0 5 0 0"> <Grid Margin="0 0 0 8">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="110"/> <ColumnDefinition Width="110"/>
<ColumnDefinition/> <ColumnDefinition/>
@ -765,7 +765,7 @@
<!-- SCATTER: 단일 Y + 옵션 --> <!-- SCATTER: 단일 Y + 옵션 -->
<StackPanel Style="{StaticResource VisibleWhenScatter}"> <StackPanel Style="{StaticResource VisibleWhenScatter}">
<Grid> <Grid Margin="0 0 0 8">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/> <ColumnDefinition Width="80"/>
<ColumnDefinition/> <ColumnDefinition/>
@ -780,7 +780,7 @@
Style="{StaticResource ComboBoxStyle}"/> Style="{StaticResource ComboBoxStyle}"/>
</Grid> </Grid>
<Grid Margin="0 10"> <Grid Margin="0 0 0 8">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/> <ColumnDefinition Width="80"/>
<ColumnDefinition/> <ColumnDefinition/>
@ -789,7 +789,8 @@
<TextBlock Text="마커 크기" Grid.Row="1" VerticalAlignment="Center" <TextBlock Text="마커 크기" Grid.Row="1" VerticalAlignment="Center"
FontSize="20" FontFamily="{StaticResource SCDream5}" Foreground="White"/> FontSize="20" FontFamily="{StaticResource SCDream5}" Foreground="White"/>
<Slider Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="15 0 0 0" <Slider Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="15 0 0 0"
Minimum="1" Maximum="15" Value="{Binding ScatterMarkerSize}" Width="280" IsSnapToTickEnabled="True" TickFrequency="1"/> Minimum="1" Maximum="15" Value="{Binding ScatterMarkerSize}" Width="280" IsSnapToTickEnabled="True" TickFrequency="1"
Style="{StaticResource CustomSliderStyle}"/>
<TextBlock Text="{Binding ScatterMarkerSize}" Margin="15 0" <TextBlock Text="{Binding ScatterMarkerSize}" Margin="15 0"
Grid.Row="1" Grid.Column="2" VerticalAlignment="Center" Grid.Row="1" Grid.Column="2" VerticalAlignment="Center"
FontSize="20" FontFamily="{StaticResource SCDream3}" Foreground="White"/> FontSize="20" FontFamily="{StaticResource SCDream3}" Foreground="White"/>
@ -798,31 +799,32 @@
<!-- BOX: 값 필드 + 그룹 필드 + 옵션 --> <!-- BOX: 값 필드 + 그룹 필드 + 옵션 -->
<StackPanel Style="{StaticResource VisibleWhenBox}"> <StackPanel Style="{StaticResource VisibleWhenBox}">
<Grid Style="{StaticResource VisibleWhenTime}" Margin="0 10 0 15"> <Grid Style="{StaticResource VisibleWhenTime}" Margin="0 0 0 8">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/> <ColumnDefinition Width="110"/>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="시간 범위" VerticalAlignment="Center" <TextBlock Text="시간 범위" VerticalAlignment="Center"
FontSize="20" FontFamily="{StaticResource SCDream5}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource SCDream5}" Foreground="White"/>
<Slider Margin="15 0 0 0" Grid.Column="1" <Slider Margin="15 0 0 0" Grid.Column="1"
VerticalAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"
Minimum="1" Maximum="24" TickFrequency="1" IsSnapToTickEnabled="True" Minimum="1" Maximum="24" TickFrequency="1" IsSnapToTickEnabled="True"
Value="{Binding BoxTimeSpan}" Width="310"/> Value="{Binding BoxTimeSpan}" Width="280"
Style="{StaticResource CustomSliderStyle}"/>
<TextBlock Text="{Binding BoxTimeSpan}" <TextBlock Text="{Binding BoxTimeSpan}"
Margin="15 0" Grid.Column="2" Margin="15 0" Grid.Column="2"
VerticalAlignment="Center" HorizontalAlignment="Right" VerticalAlignment="Center" HorizontalAlignment="Right"
FontSize="18" FontFamily="{StaticResource SCDream3}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource SCDream3}" Foreground="White"/>
</Grid> </Grid>
<Grid> <Grid Margin="0 0 0 8">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/> <ColumnDefinition Width="110"/>
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="값 필드" VerticalAlignment="Center" <TextBlock Text="값 필드" VerticalAlignment="Center"
FontSize="20" FontFamily="{StaticResource SCDream5}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource SCDream5}" Foreground="White"/>
<ComboBox ItemsSource="{Binding YFieldCandidates}" <ComboBox ItemsSource="{Binding YFieldCandidates}"
SelectedItem="{Binding SelectedYField}" SelectedItem="{Binding SelectedYField}"
DisplayMemberPath="Display" Height="35" DisplayMemberPath="Display" Height="35"
@ -831,18 +833,19 @@
Style="{StaticResource ComboBoxStyle}"/> Style="{StaticResource ComboBoxStyle}"/>
</Grid> </Grid>
<Grid Margin="0 15 0 0"> <Grid Margin="0 0 0 8">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/> <ColumnDefinition Width="110"/>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="박스 너비" VerticalAlignment="Center" <TextBlock Text="박스 너비" VerticalAlignment="Center"
FontSize="20" FontFamily="{StaticResource SCDream5}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource SCDream5}" Foreground="White"/>
<Slider Margin="15 0 0 0" Grid.Column="1" <Slider Margin="15 0 0 0" Grid.Column="1"
VerticalAlignment="Center" HorizontalAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"
Minimum="0.1" Maximum="1.0" TickFrequency="0.05" IsSnapToTickEnabled="True" Minimum="0.1" Maximum="1.0" TickFrequency="0.05" IsSnapToTickEnabled="True"
Value="{Binding BoxWidth}" Width="310"/> Value="{Binding BoxWidth}" Width="280"
Style="{StaticResource CustomSliderStyle}"/>
<TextBlock Text="{Binding BoxWidth, StringFormat=F2}" <TextBlock Text="{Binding BoxWidth, StringFormat=F2}"
Margin="15 0" Grid.Column="2" Margin="15 0" Grid.Column="2"
VerticalAlignment="Center" HorizontalAlignment="Right" VerticalAlignment="Center" HorizontalAlignment="Right"
@ -854,7 +857,7 @@
<StackPanel Orientation="Horizontal" Grid.Row="1"> <StackPanel Orientation="Horizontal" Grid.Row="1">
<CheckBox IsChecked="{Binding ShowLegends}" <CheckBox IsChecked="{Binding ShowLegends}"
FontSize="16" FontFamily="{StaticResource SCDream4}" Foreground="#264A60" Foreground="#264A60"
Margin="24 0 4 0" VerticalContentAlignment="Center" Margin="24 0 4 0" VerticalContentAlignment="Center"
Style="{StaticResource MaterialDesignUserForegroundCheckBox}"/> Style="{StaticResource MaterialDesignUserForegroundCheckBox}"/>
<TextBlock Text="범례" VerticalAlignment="Center" Margin="0 0 12 0" <TextBlock Text="범례" VerticalAlignment="Center" Margin="0 0 12 0"
@ -862,7 +865,7 @@
Foreground="#999999" /> Foreground="#999999" />
<CheckBox IsChecked="{Binding ShowMarkers}" <CheckBox IsChecked="{Binding ShowMarkers}"
FontSize="16" FontFamily="{StaticResource SCDream4}" Foreground="#264A60" Foreground="#264A60"
Margin="0 0 4 0" VerticalContentAlignment="Center"> Margin="0 0 4 0" VerticalContentAlignment="Center">
<CheckBox.Style> <CheckBox.Style>
<Style TargetType="CheckBox" BasedOn="{StaticResource MaterialDesignUserForegroundCheckBox}"> <Style TargetType="CheckBox" BasedOn="{StaticResource MaterialDesignUserForegroundCheckBox}">
@ -897,7 +900,7 @@
</TextBlock> </TextBlock>
<CheckBox Content="회귀선" IsChecked="{Binding ShowRegression}" <CheckBox Content="회귀선" IsChecked="{Binding ShowRegression}"
FontSize="16" FontFamily="{StaticResource SCDream4}" Foreground="#264A60" Foreground="#264A60"
Margin="0 0 4 0" VerticalContentAlignment="Center"> Margin="0 0 4 0" VerticalContentAlignment="Center">
<CheckBox.Style> <CheckBox.Style>
<Style TargetType="CheckBox" BasedOn="{StaticResource MaterialDesignUserForegroundCheckBox}"> <Style TargetType="CheckBox" BasedOn="{StaticResource MaterialDesignUserForegroundCheckBox}">

Loading…
Cancel
Save