design: 폰트 변경 및 일부 디자인 변경

prototype
HyungJune Kim 6 months ago
parent d4588feb41
commit ea0006530d

@ -44,7 +44,6 @@
<DataTemplate DataType="{x:Type vm:CCTVViewModel}"> <DataTemplate DataType="{x:Type vm:CCTVViewModel}">
<view:CCTVView/> <view:CCTVView/>
</DataTemplate> </DataTemplate>
</ResourceDictionary> </ResourceDictionary>
</Application.Resources> </Application.Resources>
</Application> </Application>

@ -24,7 +24,7 @@
Visibility="{Binding IsPlayingVIsibility}"> Visibility="{Binding IsPlayingVIsibility}">
<TextBlock Name="lblVideoStatus" Text="연결 없음" <TextBlock Name="lblVideoStatus" Text="연결 없음"
VerticalAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"
FontSize="16" Foreground="#999999" FontFamily="{StaticResource SCDream5}"/> FontSize="16" Foreground="#999999" FontFamily="{StaticResource Pretendard_Medium}"/>
</Border> </Border>
<Image x:Name="imgPlayer" Grid.Row="1" <Image x:Name="imgPlayer" Grid.Row="1"

@ -11,13 +11,13 @@
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<RadioButton Name="rdbtnA" Content="수조" GroupName="SignalType" Tag="Tank" <RadioButton Name="rdbtnA" Content="수조" GroupName="SignalType" Tag="Tank"
Checked="RadioButton_Checked" Checked="RadioButton_Checked"
Style="{StaticResource RadioButtonSegmentedStyle}" Width="249" Height="56" IsChecked="True"/> Style="{StaticResource RadioButtonSegmentedStyle}" IsChecked="True"/>
<RadioButton Name="rdbtnB" Content="여과시스템" GroupName="SignalType" Tag="Filter" <RadioButton Name="rdbtnB" Content="여과시스템" GroupName="SignalType" Tag="Filter"
Checked="RadioButton_Checked" Checked="RadioButton_Checked"
Style="{StaticResource RadioButtonSegmentedStyle}" Width="249" Height="56"/> Style="{StaticResource RadioButtonSegmentedStyle}"/>
<RadioButton Name="rdbtnC" Content="살균시스템" GroupName="SignalType" Tag="Sterilizer" <RadioButton Name="rdbtnC" Content="살균시스템" GroupName="SignalType" Tag="Sterilizer"
Checked="RadioButton_Checked" Checked="RadioButton_Checked"
Style="{StaticResource RadioButtonSegmentedStyle}" Width="249" Height="56"/> Style="{StaticResource RadioButtonSegmentedStyle}"/>
</StackPanel> </StackPanel>
</Border> </Border>
</UserControl> </UserControl>

@ -32,9 +32,8 @@
<Border Grid.ColumnSpan="2" Background="#1D3649" <Border Grid.ColumnSpan="2" Background="#1D3649"
BorderBrush="#325C80" BorderThickness="0 0 0 1"> BorderBrush="#325C80" BorderThickness="0 0 0 1">
<Grid> <Grid>
<TextBlock x:Name="appTitle" Text="{Binding AppTitle}" FontFamily="{StaticResource SCDream6}" <TextBlock x:Name="appTitle" Text="{Binding AppTitle}" Margin="20 0 0 0"
Margin="20 0 0 0" Foreground="White" FontSize="16" Style="{StaticResource TitleTextBlockStyle}"/>
VerticalAlignment="Center"/>
<Image Source="/Resources/Images/NIFS_logo_w.png" <Image Source="/Resources/Images/NIFS_logo_w.png"
HorizontalAlignment="Center" VerticalAlignment="Stretch"/> HorizontalAlignment="Center" VerticalAlignment="Stretch"/>
@ -59,7 +58,7 @@
<Grid Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="2" <Grid Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="2"
Background="#152935"/> Background="#152935"/>
<view:FileListView Grid.Row="1" Grid.RowSpan="2" x:Name="fileListView"/> <view:FileListView Grid.Row="1" Grid.RowSpan="2" x:Name="fileListView" Loaded="fileListView_Loaded"/>
<Border Grid.Row="1" Grid.Column="1" Margin="24 12 24 0" CornerRadius="4"> <Border Grid.Row="1" Grid.Column="1" Margin="24 12 24 0" CornerRadius="4">
<UniformGrid Columns="4"> <UniformGrid Columns="4">

@ -75,5 +75,10 @@ namespace SmartAquaViewer
windowMax.Visibility = Visibility.Visible; windowMax.Visibility = Visibility.Visible;
} }
} }
private void fileListView_Loaded(object sender, RoutedEventArgs e)
{
}
} }
} }

@ -9,16 +9,29 @@
xmlns:shell="clr-namespace:System.Windows.Shell;assembly=PresentationFramework"> xmlns:shell="clr-namespace:System.Windows.Shell;assembly=PresentationFramework">
<classes:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter"/> <classes:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
<classes:InverseBoolConverter x:Key="InverseBoolConverter"/>
<FontFamily x:Key="SCDream1">pack://application:,,,/Fonts/#S-Core Dream 1 Thin</FontFamily> <classes:EnumEqualsConverter x:Key="EnumEqualsConverter"/>
<FontFamily x:Key="SCDream2">pack://application:,,,/Fonts/#S-Core Dream 2 ExtraLight</FontFamily> <classes:BoolToPowerConverter x:Key="BoolToPowerConverter"/>
<FontFamily x:Key="SCDream3">pack://application:,,,/Fonts/#S-Core Dream 3 Light</FontFamily> <classes:OneBasedConverter x:Key="OneBasedConverter"/>
<FontFamily x:Key="SCDream4">pack://application:,,,/Fonts/#S-Core Dream 4 Regular</FontFamily> <classes:PageIndexToDisplayConverter x:Key="PageIndexToDisplayConverter"/>
<FontFamily x:Key="SCDream5">pack://application:,,,/Fonts/#S-Core Dream 5 Medium</FontFamily> <classes:CurrentPageEqualsConverter x:Key="CurrentPageEqualsConverter"/>
<FontFamily x:Key="SCDream6">pack://application:,,,/Fonts/#S-Core Dream 6 Bold</FontFamily>
<FontFamily x:Key="SCDream7">pack://application:,,,/Fonts/#S-Core Dream 7 ExtraBold</FontFamily> <FontFamily x:Key="Pretendard_Thin">pack://application:,,,/Fonts/#Pretendard Thin</FontFamily>
<FontFamily x:Key="SCDream8">pack://application:,,,/Fonts/#S-Core Dream 8 Heavy</FontFamily> <FontFamily x:Key="Pretendard_ExtraLight">pack://application:,,,/Fonts/#Pretendard ExtraLight</FontFamily>
<FontFamily x:Key="SCDream9">pack://application:,,,/Fonts/#S-Core Dream 9 Black</FontFamily> <FontFamily x:Key="Pretendard_Light">pack://application:,,,/Fonts/#Pretendard Light</FontFamily>
<FontFamily x:Key="Pretendard_Regular">pack://application:,,,/Fonts/#Pretendard Regular</FontFamily>
<FontFamily x:Key="Pretendard_Medium">pack://application:,,,/Fonts/#Pretendard Medium</FontFamily>
<FontFamily x:Key="Pretendard_SemiBold">pack://application:,,,/Fonts/#Pretendard SemiBold</FontFamily>
<FontFamily x:Key="Pretendard_Bold">pack://application:,,,/Fonts/#Pretendard Bold</FontFamily>
<FontFamily x:Key="Pretendard_ExtraBold">pack://application:,,,/Fonts/#Pretendard ExtraBold</FontFamily>
<FontFamily x:Key="Pretendard_Black">pack://application:,,,/Fonts/#Pretendard Black</FontFamily>
<Style TargetType="{x:Type TextBlock}" x:Key="TitleTextBlockStyle">
<Setter Property="FontFamily" Value="{StaticResource Pretendard_SemiBold}"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
<Style x:Key="WindowChromeStyle" TargetType="{x:Type Window}"> <Style x:Key="WindowChromeStyle" TargetType="{x:Type Window}">
<Setter Property="shell:WindowChrome.WindowChrome"> <Setter Property="shell:WindowChrome.WindowChrome">
@ -61,7 +74,7 @@
<Style x:Key="RadioBtnContentTextBlockStyle" TargetType="TextBlock"> <Style x:Key="RadioBtnContentTextBlockStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="16"/> <Setter Property="FontSize" Value="16"/>
<Setter Property="FontFamily" Value="{StaticResource SCDream3}"/> <Setter Property="FontFamily" Value="{StaticResource Pretendard_Medium}"/>
<Setter Property="Foreground" Value="#999"/> <Setter Property="Foreground" Value="#999"/>
<Style.Triggers> <Style.Triggers>
<!-- 🔹 라디오버튼이 체크되었을 때 텍스트 색 변경 --> <!-- 🔹 라디오버튼이 체크되었을 때 텍스트 색 변경 -->
@ -75,7 +88,7 @@
<Style x:Key="CheckBoxContentTextBlockStyle" TargetType="TextBlock"> <Style x:Key="CheckBoxContentTextBlockStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="16"/> <Setter Property="FontSize" Value="16"/>
<Setter Property="FontFamily" Value="{StaticResource SCDream3}"/> <Setter Property="FontFamily" Value="{StaticResource Pretendard_Medium}"/>
<Setter Property="Foreground" Value="#999"/> <Setter Property="Foreground" Value="#999"/>
<Style.Triggers> <Style.Triggers>
<!-- 🔹 라디오버튼이 체크되었을 때 텍스트 색 변경 --> <!-- 🔹 라디오버튼이 체크되었을 때 텍스트 색 변경 -->
@ -87,6 +100,18 @@
</Style.Triggers> </Style.Triggers>
</Style> </Style>
<Style x:Key="FieldNameRunStyle" TargetType="{x:Type Run}">
<Setter Property="FontSize" Value="18"/>
<Setter Property="FontFamily" Value="{StaticResource Pretendard_Medium}"/>
<Setter Property="Foreground" Value="#4178BE"/>
</Style>
<Style x:Key="FieldValueRunStyle" TargetType="{x:Type Run}">
<Setter Property="FontSize" Value="24"/>
<Setter Property="FontFamily" Value="{StaticResource Pretendard_SemiBold}"/>
<Setter Property="Foreground" Value="#FFFFFF"/>
</Style>
<Style x:Key="ImageRadioButtonStyle" TargetType="RadioButton"> <Style x:Key="ImageRadioButtonStyle" TargetType="RadioButton">
<Setter Property="Foreground" Value="#999"/> <Setter Property="Foreground" Value="#999"/>
<Setter Property="FontSize" Value="20"/> <Setter Property="FontSize" Value="20"/>
@ -97,7 +122,7 @@
<Image x:Name="ButtonImage" Stretch="Fill" <Image x:Name="ButtonImage" Stretch="Fill"
Source="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(helper:RadioButtonHelper.UnPressedImage)}"/> Source="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(helper:RadioButtonHelper.UnPressedImage)}"/>
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"
TextElement.FontFamily="{StaticResource SCDream8}" TextElement.FontFamily="{StaticResource Pretendard_SemiBold}"
TextElement.FontSize="{TemplateBinding FontSize}" TextElement.FontSize="{TemplateBinding FontSize}"
TextElement.Foreground="{TemplateBinding Foreground}"/> TextElement.Foreground="{TemplateBinding Foreground}"/>
</Grid> </Grid>
@ -117,13 +142,16 @@
<Setter Property="Foreground" Value="#999"/> <Setter Property="Foreground" Value="#999"/>
<Setter Property="FontSize" Value="20"/> <Setter Property="FontSize" Value="20"/>
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="Width" Value="249"/>
<Setter Property="Height" Value="56"/>
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="RadioButton"> <ControlTemplate TargetType="RadioButton">
<Grid> <Grid>
<Border Background="{TemplateBinding Background}" CornerRadius="30"> <Border Background="{TemplateBinding Background}" CornerRadius="30"
Width="{TemplateBinding Width}" Height="{TemplateBinding Height}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"
TextElement.FontFamily="{StaticResource SCDream8}" TextElement.FontFamily="{StaticResource Pretendard_SemiBold}"
TextElement.FontSize="{TemplateBinding FontSize}" TextElement.FontSize="{TemplateBinding FontSize}"
TextElement.Foreground="{TemplateBinding Foreground}"/> TextElement.Foreground="{TemplateBinding Foreground}"/>
</Border> </Border>
@ -149,7 +177,7 @@
<ControlTemplate TargetType="RadioButton"> <ControlTemplate TargetType="RadioButton">
<Border Background="{TemplateBinding Background}"> <Border Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"
TextElement.FontFamily="{StaticResource SCDream8}" TextElement.FontFamily="{StaticResource Pretendard_SemiBold}"
TextElement.FontSize="{TemplateBinding FontSize}" TextElement.FontSize="{TemplateBinding FontSize}"
TextElement.Foreground="{TemplateBinding Foreground}"/> TextElement.Foreground="{TemplateBinding Foreground}"/>
</Border> </Border>
@ -164,6 +192,49 @@
</Setter> </Setter>
</Style> </Style>
<Style x:Key="PageCommandButtonStyle"
TargetType="Button"
BasedOn="{StaticResource MaterialDesignFlatLightBgButton}">
<!-- 기본 속성 재정의 -->
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Width" Value="20"/>
<Setter Property="Height" Value="20"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="4 0"/>
<Setter Property="Opacity" Value="1"/>
</Style>
<Style x:Key="PageNumButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Width" Value="24"/>
<Setter Property="Height" Value="24"/>
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="#264A60" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Foreground" Value="#264A60"/>
<Setter Property="Padding" Value="6 0"/>
<Setter Property="Margin" Value="6"/>
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource CurrentPageEqualsConverter}">
<!-- 현재 버튼의 인덱스 (각 아이템, int) -->
<Binding />
<!-- TanksPager.PageIndex -->
<Binding Path="DataContext.PageIndex"
RelativeSource="{RelativeSource AncestorType=ItemsControl}" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Background" Value="#325C80" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderThickness" Value="0" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="ImageButtonStyle" TargetType="Button"> <Style x:Key="ImageButtonStyle" TargetType="Button">
<Setter Property="Width" Value="58"/> <Setter Property="Width" Value="58"/>
<Setter Property="Height" Value="42"/> <Setter Property="Height" Value="42"/>
@ -204,22 +275,15 @@
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="Button"> <ControlTemplate TargetType="Button">
<Grid> <Grid>
<!-- 🔷 사다리꼴(위 좁고 아래 넓음) -->
<!-- (20,0) (120,0)
\ /
(0,50) (140,50) -->
<Polygon x:Name="shape" <Polygon x:Name="shape"
Fill="#1D3649" Fill="#1D3649"
Points="85.6111,0 92,30 0,30 6.38889,0" /> Points="85.6111,0 92,30 0,30 6.38889,0" />
<!-- 내용 -->
<ContentPresenter HorizontalAlignment="Center" <ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center" VerticalAlignment="Center"
Margin="0"/> Margin="0"/>
</Grid> </Grid>
<!-- 🔷 버튼 상태 -->
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True"> <Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="shape" Property="Fill" Value="#264A63"/> <Setter TargetName="shape" Property="Fill" Value="#264A63"/>
@ -246,22 +310,15 @@
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="Button"> <ControlTemplate TargetType="Button">
<Grid> <Grid>
<!-- 🔷 사다리꼴(위 좁고 아래 넓음) -->
<!-- (20,0) (120,0)
\ /
(0,50) (140,50) -->
<Polygon x:Name="shape" <Polygon x:Name="shape"
Fill="#1D3649" Fill="#1D3649"
Points="0,85.6111 30,92 30,0 0,6.38889" /> Points="0,85.6111 30,92 30,0 0,6.38889" />
<!-- 내용 -->
<ContentPresenter HorizontalAlignment="Center" <ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center" VerticalAlignment="Center"
Margin="0"/> Margin="0"/>
</Grid> </Grid>
<!-- 🔷 버튼 상태 -->
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True"> <Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="shape" Property="Fill" Value="#264A63"/> <Setter TargetName="shape" Property="Fill" Value="#264A63"/>
@ -357,6 +414,7 @@
<Setter Property="Background" Value="{StaticResource LineComboBg}"/> <Setter Property="Background" Value="{StaticResource LineComboBg}"/>
<Setter Property="Foreground" Value="{StaticResource LineComboText}"/> <Setter Property="Foreground" Value="{StaticResource LineComboText}"/>
<Setter Property="FontSize" Value="16"/> <Setter Property="FontSize" Value="16"/>
<Setter Property="FontFamily" Value="{StaticResource Pretendard_SemiBold}"/>
<Setter Property="VerticalContentAlignment" Value="Center"/> <Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Padding" Value="12 0" /> <Setter Property="Padding" Value="12 0" />
<Setter Property="ItemContainerStyle" Value="{StaticResource LineComboBoxItemStyle}" /> <Setter Property="ItemContainerStyle" Value="{StaticResource LineComboBoxItemStyle}" />
@ -418,6 +476,20 @@
</Setter> </Setter>
</Style> </Style>
<!-- DataGrid -->
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Padding" Value="0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid>
<ContentPresenter Margin="0" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="DataGridStyle" TargetType="DataGrid"> <Style x:Key="DataGridStyle" TargetType="DataGrid">
<Setter Property="EnableRowVirtualization" Value="True"/> <Setter Property="EnableRowVirtualization" Value="True"/>
<Setter Property="EnableColumnVirtualization" Value="True"/> <Setter Property="EnableColumnVirtualization" Value="True"/>
@ -435,21 +507,21 @@
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="#999"/> <Setter Property="BorderBrush" Value="#999"/>
<Setter Property="BorderThickness" Value="1"/> <Setter Property="BorderThickness" Value="1"/>
<Setter Property="TextElement.FontSize" Value="14"/>
</Style> </Style>
<Style x:Key="DataGridRowStyle" TargetType="{x:Type DataGridRow}"> <Style x:Key="DataGridRowStyle" TargetType="{x:Type DataGridRow}">
<Setter Property="Background" Value="#292929"/> <Setter Property="Background" Value="#292929"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/> <Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="FontFamily" Value="{StaticResource SCDream3}"/> <Setter Property="FontFamily" Value="{StaticResource Pretendard_Medium}"/>
<Setter Property="Foreground" Value="#BDBDBD"/>
<Setter Property="Padding" Value="0"/>
</Style> </Style>
<Style x:Key="DataGridColumnHeaderStyle" TargetType="{x:Type DataGridColumnHeader}"> <Style x:Key="DataGridColumnHeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Background" Value="#264A60"/> <Setter Property="Background" Value="#264A60"/>
<Setter Property="Foreground" Value="White"/> <Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/> <Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="BorderBrush" Value="White"/> <Setter Property="BorderBrush" Value="White"/>
<Setter Property="FontSize" Value="14"/> <Setter Property="FontFamily" Value="{StaticResource Pretendard_SemiBold}"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="FontFamily" Value="{StaticResource SCDream5}"/>
<Setter Property="Height" Value="44"/> <Setter Property="Height" Value="44"/>
</Style> </Style>
<Style x:Key="HighlightLeftBorderHeaderStyle" <Style x:Key="HighlightLeftBorderHeaderStyle"
@ -467,7 +539,7 @@
<Style x:Key="DataGridElmenetStyle" TargetType="{x:Type TextBlock}"> <Style x:Key="DataGridElmenetStyle" TargetType="{x:Type TextBlock}">
<Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="FontFamily" Value="{StaticResource SCDream3}"/> <Setter Property="FontFamily" Value="{StaticResource Pretendard_Medium}"/>
</Style> </Style>
<Style x:Key="GridViewColumnHeaderStyle" TargetType="{x:Type GridViewColumnHeader}"> <Style x:Key="GridViewColumnHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
@ -478,6 +550,8 @@
Background="#1D3649" Background="#1D3649"
Width="{TemplateBinding Width}" > Width="{TemplateBinding Width}" >
<TextBlock Text="{TemplateBinding Content}" <TextBlock Text="{TemplateBinding Content}"
FontSize="14"
FontFamily="{StaticResource Pretendard_SemiBold}"
Foreground="White" Foreground="White"
Padding="0" Padding="0"
TextAlignment="Center" TextAlignment="Center"
@ -495,24 +569,10 @@
<Style x:Key="GridViewTextBlockStyle" TargetType="{x:Type TextBlock}"> <Style x:Key="GridViewTextBlockStyle" TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="White"/> <Setter Property="Foreground" Value="White"/>
<Setter Property="FontSize" Value="14"/> <Setter Property="FontSize" Value="14"/>
<Setter Property="FontFamily" Value="{StaticResource SCDream3}"/> <Setter Property="FontFamily" Value="{StaticResource Pretendard_Medium}"/>
<Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="HorizontalAlignment" Value="Center"/>
</Style> </Style>
<Style x:Key="PageCommandButtonStyle"
TargetType="Button"
BasedOn="{StaticResource MaterialDesignFlatLightBgButton}">
<!-- 기본 속성 재정의 -->
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Width" Value="20"/>
<Setter Property="Height" Value="20"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Opacity" Value="1"/>
</Style>
<Style TargetType="ListBoxItem" x:Key="TransparentListBoxItemStyle" BasedOn="{StaticResource MaterialDesignListBoxItem}"> <Style TargetType="ListBoxItem" x:Key="TransparentListBoxItemStyle" BasedOn="{StaticResource MaterialDesignListBoxItem}">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="Padding" Value="0"/> <Setter Property="Padding" Value="0"/>
@ -679,7 +739,7 @@
VerticalAlignment="Center" VerticalAlignment="Center"
TextElement.Foreground="{TemplateBinding Foreground}" TextElement.Foreground="{TemplateBinding Foreground}"
TextElement.FontSize="12" TextElement.FontSize="12"
TextElement.FontFamily="{StaticResource SCDream2}"/> TextElement.FontFamily="{StaticResource Pretendard_Medium}"/>
</StackPanel> </StackPanel>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
@ -775,7 +835,7 @@
</Style> </Style>
<Style x:Key="GeneralButtonStyle" TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatLightBgButton}"> <Style x:Key="GeneralButtonStyle" TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatLightBgButton}">
<Setter Property="FontFamily" Value="{StaticResource SCDream3}" /> <Setter Property="FontFamily" Value="{StaticResource Pretendard_SemiBold}" />
<Setter Property="Foreground" Value="White" /> <Setter Property="Foreground" Value="White" />
<Setter Property="FontSize" Value="16" /> <Setter Property="FontSize" Value="16" />
<Setter Property="Background" Value="#325C80" /> <Setter Property="Background" Value="#325C80" />
@ -785,7 +845,7 @@
</Style> </Style>
<Style x:Key="CCTVTextBlockStyle" TargetType="TextBlock"> <Style x:Key="CCTVTextBlockStyle" TargetType="TextBlock">
<Setter Property="FontFamily" Value="{StaticResource SCDream4}" /> <Setter Property="FontFamily" Value="{StaticResource Pretendard_Medium}" />
<Setter Property="Foreground" Value="White" /> <Setter Property="Foreground" Value="White" />
<Setter Property="FontSize" Value="16" /> <Setter Property="FontSize" Value="16" />
</Style> </Style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

@ -11,6 +11,15 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<None Remove="Fonts\Pretendard-Black.otf" />
<None Remove="Fonts\Pretendard-Bold.otf" />
<None Remove="Fonts\Pretendard-ExtraBold.otf" />
<None Remove="Fonts\Pretendard-ExtraLight.otf" />
<None Remove="Fonts\Pretendard-Light.otf" />
<None Remove="Fonts\Pretendard-Medium.otf" />
<None Remove="Fonts\Pretendard-Regular.otf" />
<None Remove="Fonts\Pretendard-SemiBold.otf" />
<None Remove="Fonts\Pretendard-Thin.otf" />
<None Remove="Fonts\SCDream1.otf" /> <None Remove="Fonts\SCDream1.otf" />
<None Remove="Fonts\SCDream2.otf" /> <None Remove="Fonts\SCDream2.otf" />
<None Remove="Fonts\SCDream3.otf" /> <None Remove="Fonts\SCDream3.otf" />
@ -21,6 +30,7 @@
<None Remove="Fonts\SCDream8.otf" /> <None Remove="Fonts\SCDream8.otf" />
<None Remove="Fonts\SCDream9.otf" /> <None Remove="Fonts\SCDream9.otf" />
<None Remove="Resources\Images\add_folder.png" /> <None Remove="Resources\Images\add_folder.png" />
<None Remove="Resources\Images\add_folder_gray.png" />
<None Remove="Resources\Images\arrow_down.png" /> <None Remove="Resources\Images\arrow_down.png" />
<None Remove="Resources\Images\arrow_left.png" /> <None Remove="Resources\Images\arrow_left.png" />
<None Remove="Resources\Images\arrow_right.png" /> <None Remove="Resources\Images\arrow_right.png" />
@ -66,6 +76,15 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Resource Include="Fonts\Pretendard-Black.otf" />
<Resource Include="Fonts\Pretendard-Bold.otf" />
<Resource Include="Fonts\Pretendard-ExtraBold.otf" />
<Resource Include="Fonts\Pretendard-ExtraLight.otf" />
<Resource Include="Fonts\Pretendard-Light.otf" />
<Resource Include="Fonts\Pretendard-Medium.otf" />
<Resource Include="Fonts\Pretendard-Regular.otf" />
<Resource Include="Fonts\Pretendard-SemiBold.otf" />
<Resource Include="Fonts\Pretendard-Thin.otf" />
<Resource Include="Fonts\SCDream1.otf" /> <Resource Include="Fonts\SCDream1.otf" />
<Resource Include="Fonts\SCDream2.otf" /> <Resource Include="Fonts\SCDream2.otf" />
<Resource Include="Fonts\SCDream3.otf" /> <Resource Include="Fonts\SCDream3.otf" />
@ -76,6 +95,7 @@
<Resource Include="Fonts\SCDream8.otf" /> <Resource Include="Fonts\SCDream8.otf" />
<Resource Include="Fonts\SCDream9.otf" /> <Resource Include="Fonts\SCDream9.otf" />
<Resource Include="Resources\Images\add_folder.png" /> <Resource Include="Resources\Images\add_folder.png" />
<Resource Include="Resources\Images\add_folder_gray.png" />
<Resource Include="Resources\Images\arrow_down.png" /> <Resource Include="Resources\Images\arrow_down.png" />
<Resource Include="Resources\Images\arrow_left.png"> <Resource Include="Resources\Images\arrow_left.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

@ -70,11 +70,11 @@
<RowDefinition/> <RowDefinition/>
<RowDefinition Height="81"/> <RowDefinition Height="81"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Margin="0 0 0 16"> <StackPanel Orientation="Horizontal" Margin="0 0 0 16" Width="250">
<Image Source="/Resources/Images/cctv.png" <Image Source="/Resources/Images/cctv.png"
VerticalAlignment="Center" VerticalAlignment="Center"
Width="20" Height="20"/> Width="20" Height="20"/>
<TextBlock Text="CCTV 목록" FontFamily="{StaticResource SCDream5}" <TextBlock Text="CCTV 목록" FontFamily="{StaticResource Pretendard_SemiBold}"
FontSize="18" FontWeight="Bold" Foreground="White" FontSize="18" FontWeight="Bold" Foreground="White"
VerticalAlignment="Center" Margin="8 0"/> VerticalAlignment="Center" Margin="8 0"/>
</StackPanel> </StackPanel>

@ -11,13 +11,6 @@
mc:Ignorable="d" mc:Ignorable="d"
d:DesignHeight="940" d:DesignWidth="1650"> d:DesignHeight="940" d:DesignWidth="1650">
<UserControl.Resources>
<classes:InverseBoolConverter x:Key="InverseBoolConverter"/>
<classes:OneBasedConverter x:Key="OneBasedConverter"/>
<classes:PageIndexToDisplayConverter x:Key="PageIndexToDisplayConverter"/>
<classes:CurrentPageEqualsConverter x:Key="CurrentPageEqualsConverter"/>
</UserControl.Resources>
<Border> <Border>
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
@ -29,83 +22,74 @@
<UniformGrid Columns="9"> <UniformGrid Columns="9">
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="총 소비 전력" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="총 소비 전력" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalEnergy, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalEnergy, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="모래여과기" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="모래여과기" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalCirculationPumpEnergy, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalCirculationPumpEnergy, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="순환펌프" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="순환펌프" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalCirculationPumpEnergy, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalCirculationPumpEnergy, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="히트펌프" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="히트펌프" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalHeatPumpEnergy, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalHeatPumpEnergy, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="에어브로와" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="에어브로와" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalAirBlowerEnergy, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalAirBlowerEnergy, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="오존발생기" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="오존발생기" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalOzoneGeneratorEnergy, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalOzoneGeneratorEnergy, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="자외선 살균기" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="자외선 살균기" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalUVSterilizerEnergy, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalUVSterilizerEnergy, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="오존용해장치" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="오존용해장치" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalOzoneDissolverEnergy, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalOzoneDissolverEnergy, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border> <Border>
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="배오존장치" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="배오존장치" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalExcessOzoneDestroyerEnergy, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalExcessOzoneDestroyerEnergy, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
</UniformGrid> </UniformGrid>
@ -202,11 +186,11 @@
<Grid Grid.Row="1" VerticalAlignment="Center"> <Grid Grid.Row="1" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Button Command="{Binding FirstPageCommand}" <Button Command="{Binding FirstPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="PageFirst"/> <md:PackIcon Kind="PageFirst"/>
</Button> </Button>
<Button Command="{Binding PrevPageCommand}" <Button Command="{Binding PrevPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="ChevronLeft"/> <md:PackIcon Kind="ChevronLeft"/>
</Button> </Button>
@ -219,51 +203,24 @@
<ItemsControl.ItemTemplate> <ItemsControl.ItemTemplate>
<DataTemplate> <DataTemplate>
<Button Margin="6" <Button Command="{Binding DataContext.GoToPageCommand,
Padding="6,0"
Command="{Binding DataContext.GoToPageCommand,
RelativeSource={RelativeSource AncestorType=ItemsControl}}" RelativeSource={RelativeSource AncestorType=ItemsControl}}"
CommandParameter="{Binding}"> CommandParameter="{Binding}"
Style="{StaticResource PageNumButtonStyle}">
<Button.Content> <Button.Content>
<Binding Converter="{StaticResource PageIndexToDisplayConverter}" /> <Binding Converter="{StaticResource PageIndexToDisplayConverter}" />
</Button.Content> </Button.Content>
<Button.Style>
<Style TargetType="Button">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="#264A60" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Foreground" Value="#264A60"/>
<!-- 🔹 현재 페이지면 강조 -->
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource CurrentPageEqualsConverter}">
<!--현재 버튼의 인덱스-->
<Binding />
<!--ViewModel의 PageIndex-->
<Binding Path="DataContext.PageIndex"
RelativeSource="{RelativeSource AncestorType=ItemsControl}" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Background" Value="#325C80" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderThickness" Value="0" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button> </Button>
</DataTemplate> </DataTemplate>
</ItemsControl.ItemTemplate> </ItemsControl.ItemTemplate>
</ItemsControl> </ItemsControl>
<Button Command="{Binding NextPageCommand}" <Button Command="{Binding NextPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="ChevronRight"/> <md:PackIcon Kind="ChevronRight"/>
</Button> </Button>
<Button Command="{Binding LastPageCommand}" <Button Command="{Binding LastPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="PageLast"/> <md:PackIcon Kind="PageLast"/>
</Button> </Button>
</StackPanel> </StackPanel>
@ -313,11 +270,11 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="그래프" VerticalAlignment="Center" <TextBlock Text="그래프" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<ComboBox Margin="0" Height="35" Grid.Column="1" <ComboBox Margin="0" Height="35" Grid.Column="1"
Style="{StaticResource ComboBoxStyle}" Style="{StaticResource ComboBoxStyle}"
FontFamily="{StaticResource SCDream3}" FontFamily="{StaticResource Pretendard_Medium}"
ItemsSource="{Binding GraphTypes}" ItemsSource="{Binding GraphTypes}"
SelectedIndex="{Binding SelectedGraphIndex, Mode=TwoWay}" SelectedIndex="{Binding SelectedGraphIndex, Mode=TwoWay}"
helper:ComboBoxHelper.SelectFirstOnItemsChange="True" helper:ComboBoxHelper.SelectFirstOnItemsChange="True"
@ -369,10 +326,10 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="X축" VerticalAlignment="Center" <TextBlock Text="X축" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<TextBlock Text="{Binding SelectedXField.Display}" VerticalAlignment="Center" <TextBlock Text="{Binding SelectedXField.Display}" VerticalAlignment="Center"
Grid.Column="1" Grid.Column="1"
FontSize="18" FontFamily="{StaticResource SCDream3}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_Medium}" Foreground="White"/>
</Grid> </Grid>
<Grid Margin="0 0 0 10"> <Grid Margin="0 0 0 10">
@ -381,9 +338,10 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock VerticalAlignment="Top" Foreground="White"> <TextBlock VerticalAlignment="Top" Foreground="White">
<Run Text="Y축" FontSize="18" FontFamily="{StaticResource SCDream4}"/> <Run Text="Y축" FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}"/>
<LineBreak/> <LineBreak/>
<Run Text="(복수 선택 가능)" FontSize="14" Foreground="#767676"/> <Run Text="(복수 선택 가능)" FontSize="14"
Foreground="#767676" FontFamily="{StaticResource Pretendard_Medium}"/>
</TextBlock> </TextBlock>
<ListBox ItemsSource="{Binding YFieldCandidates}" <ListBox ItemsSource="{Binding YFieldCandidates}"
@ -392,8 +350,7 @@
helper:MultiSelectBehavior.SelectedItems="{Binding SelectedYFields, Mode=OneWay}" helper:MultiSelectBehavior.SelectedItems="{Binding SelectedYFields, Mode=OneWay}"
helper:MultiSelectBehavior.KeyPath="Key" helper:MultiSelectBehavior.KeyPath="Key"
helper:MultiSelectBehavior.ValuePath="Value" helper:MultiSelectBehavior.ValuePath="Value"
FontSize="14" FontWeight="Bold" FontFamily="{StaticResource Pretendard_Medium}"
FontFamily="{StaticResource SCDream5}"
Style="{StaticResource MaterialDesignFilterChipListBox}" Style="{StaticResource MaterialDesignFilterChipListBox}"
ItemContainerStyle="{StaticResource ListBoxItemStyle}"> ItemContainerStyle="{StaticResource ListBoxItemStyle}">
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
@ -417,7 +374,7 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="필드" VerticalAlignment="Top" <TextBlock Text="필드" VerticalAlignment="Top"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<ListBox ItemsSource="{Binding YFieldCandidates}" <ListBox ItemsSource="{Binding YFieldCandidates}"
Grid.Column="1" Grid.Column="1"
@ -425,8 +382,7 @@
helper:MultiSelectBehavior.SelectedItems="{Binding SelectedYFields, Mode=OneWay}" helper:MultiSelectBehavior.SelectedItems="{Binding SelectedYFields, Mode=OneWay}"
helper:MultiSelectBehavior.KeyPath="Key" helper:MultiSelectBehavior.KeyPath="Key"
helper:MultiSelectBehavior.ValuePath="Value" helper:MultiSelectBehavior.ValuePath="Value"
FontSize="14" FontWeight="Bold" FontFamily="{StaticResource Pretendard_Medium}"
FontFamily="{StaticResource SCDream5}"
Style="{StaticResource MaterialDesignFilterChipListBox}" Style="{StaticResource MaterialDesignFilterChipListBox}"
ItemContainerStyle="{StaticResource ListBoxItemStyle}"> ItemContainerStyle="{StaticResource ListBoxItemStyle}">
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
@ -448,13 +404,13 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="집계 방식" VerticalAlignment="Top" <TextBlock Text="집계 방식" VerticalAlignment="Top"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<StackPanel Orientation="Horizontal" Grid.Column="1"> <StackPanel Orientation="Horizontal" Grid.Column="1">
<RadioButton x:Name="rbStatus" <RadioButton x:Name="rbStatus"
GroupName="pie" Margin="0 0 12 0" GroupName="pie" Margin="0 0 12 0"
Foreground="#325C80" Foreground="#325C80"
FontFamily="{StaticResource SCDream3}" FontFamily="{StaticResource Pretendard_Medium}"
Style="{StaticResource MaterialDesignUserForegroundRadioButton}" Style="{StaticResource MaterialDesignUserForegroundRadioButton}"
IsChecked="{Binding UseAverage, Converter={StaticResource InverseBoolConverter}, Mode=TwoWay}"> IsChecked="{Binding UseAverage, Converter={StaticResource InverseBoolConverter}, Mode=TwoWay}">
<TextBlock Text="합계" Style="{StaticResource RadioBtnContentTextBlockStyle}"/> <TextBlock Text="합계" Style="{StaticResource RadioBtnContentTextBlockStyle}"/>
@ -462,7 +418,7 @@
<RadioButton x:Name="pie" <RadioButton x:Name="pie"
GroupName="pie" GroupName="pie"
Foreground="#325C80" Foreground="#325C80"
FontFamily="{StaticResource SCDream3}" FontFamily="{StaticResource Pretendard_Medium}"
Style="{StaticResource MaterialDesignUserForegroundRadioButton}" Style="{StaticResource MaterialDesignUserForegroundRadioButton}"
IsChecked="{Binding UseAverage, Mode=TwoWay}"> IsChecked="{Binding UseAverage, Mode=TwoWay}">
<TextBlock Text="평균" Style="{StaticResource RadioBtnContentTextBlockStyle}"/> <TextBlock Text="평균" Style="{StaticResource RadioBtnContentTextBlockStyle}"/>

@ -32,7 +32,7 @@
VerticalAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"
Width="24" Height="24"/> Width="24" Height="24"/>
</Border> </Border>
<TextBlock Text="파일 목록" FontFamily="{StaticResource SCDream5}" <TextBlock Text="파일 목록" FontFamily="{StaticResource Pretendard_SemiBold}"
FontSize="24" FontWeight="Bold" Foreground="White" FontSize="24" FontWeight="Bold" Foreground="White"
HorizontalAlignment="Center" VerticalAlignment="Center"/> HorizontalAlignment="Center" VerticalAlignment="Center"/>
</StackPanel> </StackPanel>
@ -51,12 +51,9 @@
</Button> </Button>
</Grid> </Grid>
<TextBlock Grid.Row="1" Text="파일을 업로드하세요" <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
VerticalAlignment="Center" HorizontalAlignment="Center" <StackPanel.Style>
FontSize="16" FontWeight="Medium" Foreground="Gray" <Style TargetType="StackPanel">
FontFamily="{StaticResource SCDream4}">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Collapsed"/> <Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers> <Style.Triggers>
<DataTrigger Binding="{Binding FileList.Count}" Value="0"> <DataTrigger Binding="{Binding FileList.Count}" Value="0">
@ -64,8 +61,13 @@
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
</Style> </Style>
</TextBlock.Style> </StackPanel.Style>
</TextBlock> <Image Source="/Resources/Images/add_folder_gray.png" VerticalAlignment="Top"
Width="24" Height="24" Margin="0 0 8 0" Stretch="Fill"/>
<TextBlock Text="파일을 업로드하세요."
FontSize="20" Foreground="#999999"
FontFamily="{StaticResource Pretendard_Medium}"/>
</StackPanel>
<ListView <ListView
Grid.Row="1" Padding="0" Grid.Row="1" Padding="0"
@ -89,7 +91,7 @@
Width="24" Height="24" Margin="0 0 8 0"/> Width="24" Height="24" Margin="0 0 8 0"/>
<TextBlock Text="{Binding Name}" <TextBlock Text="{Binding Name}"
FontSize="20" Foreground="White" FontSize="20" Foreground="White"
FontFamily="{StaticResource SCDream4}" FontFamily="{StaticResource Pretendard_Medium}"
VerticalAlignment="Center"/> VerticalAlignment="Center"/>
</StackPanel> </StackPanel>
</Border> </Border>

@ -29,83 +29,74 @@
<UniformGrid Columns="9"> <UniformGrid Columns="9">
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="총 배출량" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="총 배출량" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalGreenhouseGas, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalGreenhouseGas, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="모래여과기" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="모래여과기" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalSandFilterGreenhouseGas, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalSandFilterGreenhouseGas, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="순환펌프" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="순환펌프" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalCirculationPumpGreenhouseGas, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalCirculationPumpGreenhouseGas, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="히트펌프" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="히트펌프" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalHeatPumpGreenhouseGas, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalHeatPumpGreenhouseGas, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="에어브로와" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="에어브로와" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalAirBlowerGreenhouseGas, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalAirBlowerGreenhouseGas, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="오존발생기" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="오존발생기" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalOzoneGeneratorGreenhouseGas, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalOzoneGeneratorGreenhouseGas, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="자외선 살균기" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="자외선 살균기" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalUVSterilizerGreenhouseGas, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalUVSterilizerGreenhouseGas, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border BorderThickness="0 0 1 0" BorderBrush="#99325C80"> <Border BorderThickness="0 0 1 0" BorderBrush="#99325C80">
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="오존용해장치" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="오존용해장치" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalOzoneDissolverGreenhouseGas, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalOzoneDissolverGreenhouseGas, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
<Border> <Border>
<TextBlock VerticalAlignment="Center" TextAlignment="Center"> <TextBlock VerticalAlignment="Center" TextAlignment="Center">
<Run Text="배오존장치" FontSize="18" Foreground="#4178BE" FontFamily="{StaticResource SCDream5}"/> <Run Text="배오존장치" Style="{StaticResource FieldNameRunStyle}"/>
<LineBreak/> <LineBreak/>
<Run Text="{Binding TotalExcessOzoneDestroyerGreenhouseGas, StringFormat=\{0:F2\}}" <Run Text="{Binding TotalExcessOzoneDestroyerGreenhouseGas, StringFormat=\{0:F2\}}"
FontSize="24" FontFamily="{StaticResource SCDream5}" Style="{StaticResource FieldValueRunStyle}"/>
Foreground="White"/>
</TextBlock> </TextBlock>
</Border> </Border>
</UniformGrid> </UniformGrid>
@ -203,11 +194,11 @@
<Grid Grid.Row="1" VerticalAlignment="Center"> <Grid Grid.Row="1" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Button Command="{Binding FirstPageCommand}" <Button Command="{Binding FirstPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="PageFirst"/> <md:PackIcon Kind="PageFirst"/>
</Button> </Button>
<Button Command="{Binding PrevPageCommand}" <Button Command="{Binding PrevPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="ChevronLeft"/> <md:PackIcon Kind="ChevronLeft"/>
</Button> </Button>
@ -220,51 +211,24 @@
<ItemsControl.ItemTemplate> <ItemsControl.ItemTemplate>
<DataTemplate> <DataTemplate>
<Button Margin="6" <Button Command="{Binding DataContext.GoToPageCommand,
Padding="6,0"
Command="{Binding DataContext.GoToPageCommand,
RelativeSource={RelativeSource AncestorType=ItemsControl}}" RelativeSource={RelativeSource AncestorType=ItemsControl}}"
CommandParameter="{Binding}"> CommandParameter="{Binding}"
Style="{StaticResource PageNumButtonStyle}">
<Button.Content> <Button.Content>
<Binding Converter="{StaticResource PageIndexToDisplayConverter}" /> <Binding Converter="{StaticResource PageIndexToDisplayConverter}" />
</Button.Content> </Button.Content>
<Button.Style>
<Style TargetType="Button">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="#264A60" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Foreground" Value="#264A60"/>
<!-- 🔹 현재 페이지면 강조 -->
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource CurrentPageEqualsConverter}">
<!--현재 버튼의 인덱스-->
<Binding />
<!--ViewModel의 PageIndex-->
<Binding Path="DataContext.PageIndex"
RelativeSource="{RelativeSource AncestorType=ItemsControl}" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Background" Value="#325C80" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderThickness" Value="0" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button> </Button>
</DataTemplate> </DataTemplate>
</ItemsControl.ItemTemplate> </ItemsControl.ItemTemplate>
</ItemsControl> </ItemsControl>
<Button Command="{Binding NextPageCommand}" <Button Command="{Binding NextPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="ChevronRight"/> <md:PackIcon Kind="ChevronRight"/>
</Button> </Button>
<Button Command="{Binding LastPageCommand}" <Button Command="{Binding LastPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="PageLast"/> <md:PackIcon Kind="PageLast"/>
</Button> </Button>
</StackPanel> </StackPanel>
@ -314,11 +278,11 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="그래프" VerticalAlignment="Center" <TextBlock Text="그래프" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<ComboBox Height="35" Grid.Column="1" <ComboBox Height="35" Grid.Column="1"
Style="{StaticResource ComboBoxStyle}" Style="{StaticResource ComboBoxStyle}"
FontFamily="{StaticResource SCDream3}" FontFamily="{StaticResource Pretendard_Medium}"
ItemsSource="{Binding GraphTypes}" ItemsSource="{Binding GraphTypes}"
SelectedIndex="{Binding SelectedGraphIndex, Mode=TwoWay}" SelectedIndex="{Binding SelectedGraphIndex, Mode=TwoWay}"
helper:ComboBoxHelper.SelectFirstOnItemsChange="True" helper:ComboBoxHelper.SelectFirstOnItemsChange="True"
@ -370,10 +334,10 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="X축" VerticalAlignment="Center" <TextBlock Text="X축" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<TextBlock Text="{Binding SelectedXField.Display}" VerticalAlignment="Center" <TextBlock Text="{Binding SelectedXField.Display}" VerticalAlignment="Center"
Grid.Column="1" Grid.Column="1"
FontSize="18" FontFamily="{StaticResource SCDream3}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_Medium}" Foreground="White"/>
</Grid> </Grid>
<Grid Margin="0 0 0 10"> <Grid Margin="0 0 0 10">
@ -381,8 +345,12 @@
<ColumnDefinition Width="146"/> <ColumnDefinition Width="146"/>
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="Y축" VerticalAlignment="Top" <TextBlock VerticalAlignment="Top" Foreground="White">
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> <Run Text="Y축" FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}"/>
<LineBreak/>
<Run Text="(복수 선택 가능)" FontSize="14"
Foreground="#767676" FontFamily="{StaticResource Pretendard_Medium}"/>
</TextBlock>
<ListBox ItemsSource="{Binding YFieldCandidates}" <ListBox ItemsSource="{Binding YFieldCandidates}"
Grid.Column="1" Grid.Column="1"
@ -390,9 +358,7 @@
helper:MultiSelectBehavior.SelectedItems="{Binding SelectedYFields, Mode=OneWay}" helper:MultiSelectBehavior.SelectedItems="{Binding SelectedYFields, Mode=OneWay}"
helper:MultiSelectBehavior.KeyPath="Key" helper:MultiSelectBehavior.KeyPath="Key"
helper:MultiSelectBehavior.ValuePath="Value" helper:MultiSelectBehavior.ValuePath="Value"
Height="Auto" Background="White" FontFamily="{StaticResource Pretendard_Medium}"
FontSize="14" FontWeight="Bold"
FontFamily="{StaticResource SCDream5}"
Style="{StaticResource MaterialDesignFilterChipListBox}" Style="{StaticResource MaterialDesignFilterChipListBox}"
ItemContainerStyle="{StaticResource ListBoxItemStyle}"> ItemContainerStyle="{StaticResource ListBoxItemStyle}">
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
@ -416,7 +382,7 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="필드" VerticalAlignment="Top" <TextBlock Text="필드" VerticalAlignment="Top"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<ListBox ItemsSource="{Binding YFieldCandidates}" <ListBox ItemsSource="{Binding YFieldCandidates}"
Grid.Column="1" Grid.Column="1"
@ -424,9 +390,7 @@
helper:MultiSelectBehavior.SelectedItems="{Binding SelectedYFields, Mode=OneWay}" helper:MultiSelectBehavior.SelectedItems="{Binding SelectedYFields, Mode=OneWay}"
helper:MultiSelectBehavior.KeyPath="Key" helper:MultiSelectBehavior.KeyPath="Key"
helper:MultiSelectBehavior.ValuePath="Value" helper:MultiSelectBehavior.ValuePath="Value"
Height="Auto" Background="White" FontFamily="{StaticResource Pretendard_Medium}"
FontSize="14" FontWeight="Bold"
FontFamily="{StaticResource SCDream5}"
Style="{StaticResource MaterialDesignFilterChipListBox}" Style="{StaticResource MaterialDesignFilterChipListBox}"
ItemContainerStyle="{StaticResource ListBoxItemStyle}"> ItemContainerStyle="{StaticResource ListBoxItemStyle}">
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
@ -448,13 +412,13 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="집계 방식" VerticalAlignment="Top" <TextBlock Text="집계 방식" VerticalAlignment="Top"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<StackPanel Orientation="Horizontal" Grid.Column="1"> <StackPanel Orientation="Horizontal" Grid.Column="1">
<RadioButton x:Name="rbStatus" <RadioButton x:Name="rbStatus"
GroupName="pie" Margin="0 0 12 0" GroupName="pie" Margin="0 0 12 0"
Foreground="#325C80" Foreground="#325C80"
FontFamily="{StaticResource SCDream3}" FontFamily="{StaticResource Pretendard_Medium}"
Style="{StaticResource MaterialDesignUserForegroundRadioButton}" Style="{StaticResource MaterialDesignUserForegroundRadioButton}"
IsChecked="{Binding UseAverage, Converter={StaticResource InverseBoolConverter}, Mode=TwoWay}"> IsChecked="{Binding UseAverage, Converter={StaticResource InverseBoolConverter}, Mode=TwoWay}">
<TextBlock Text="합계" Style="{StaticResource RadioBtnContentTextBlockStyle}"/> <TextBlock Text="합계" Style="{StaticResource RadioBtnContentTextBlockStyle}"/>
@ -462,7 +426,7 @@
<RadioButton x:Name="pie" <RadioButton x:Name="pie"
GroupName="pie" GroupName="pie"
Foreground="#325C80" Foreground="#325C80"
FontFamily="{StaticResource SCDream3}" FontFamily="{StaticResource Pretendard_Medium}"
Style="{StaticResource MaterialDesignUserForegroundRadioButton}" Style="{StaticResource MaterialDesignUserForegroundRadioButton}"
IsChecked="{Binding UseAverage, Mode=TwoWay}"> IsChecked="{Binding UseAverage, Mode=TwoWay}">
<TextBlock Text="평균" Style="{StaticResource RadioBtnContentTextBlockStyle}"/> <TextBlock Text="평균" Style="{StaticResource RadioBtnContentTextBlockStyle}"/>

@ -12,14 +12,6 @@
mc:Ignorable="d" mc:Ignorable="d"
d:DesignHeight="940" d:DesignWidth="1650"> d:DesignHeight="940" d:DesignWidth="1650">
<UserControl.Resources>
<classes:EnumEqualsConverter x:Key="EnumEqualsConverter"/>
<classes:BoolToPowerConverter x:Key="BoolToPowerConverter"/>
<classes:OneBasedConverter x:Key="OneBasedConverter"/>
<classes:PageIndexToDisplayConverter x:Key="PageIndexToDisplayConverter"/>
<classes:CurrentPageEqualsConverter x:Key="CurrentPageEqualsConverter"/>
</UserControl.Resources>
<Border> <Border>
<md:DrawerHost BottomDrawerBackground="Transparent" IsBottomDrawerOpen="{Binding IsOpenMode}" OpenMode="Standard"> <md:DrawerHost BottomDrawerBackground="Transparent" IsBottomDrawerOpen="{Binding IsOpenMode}" OpenMode="Standard">
<Border BorderBrush="#1D3649" BorderThickness="0 0 0 2"> <Border BorderBrush="#1D3649" BorderThickness="0 0 0 2">
@ -323,7 +315,6 @@
helper:DataGridAutoPageSizeBehavior.Pager="{Binding TanksPager}" helper:DataGridAutoPageSizeBehavior.Pager="{Binding TanksPager}"
helper:DataGridAutoPageSizeBehavior.Suspend="{Binding IsOpenMode}" helper:DataGridAutoPageSizeBehavior.Suspend="{Binding IsOpenMode}"
Grid.Row="1" Margin="0" Grid.Row="1" Margin="0"
Background="Transparent"
VerticalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
RowStyle="{StaticResource DataGridRowStyle}" RowStyle="{StaticResource DataGridRowStyle}"
ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}"> ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}">
@ -364,11 +355,11 @@
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Button Command="{Binding TanksPager.FirstPageCommand}" <Button Command="{Binding TanksPager.FirstPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="PageFirst"/> <md:PackIcon Kind="PageFirst"/>
</Button> </Button>
<Button Command="{Binding TanksPager.PrevPageCommand}" <Button Command="{Binding TanksPager.PrevPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="ChevronLeft"/> <md:PackIcon Kind="ChevronLeft"/>
</Button> </Button>
@ -382,8 +373,7 @@
<ItemsControl.ItemTemplate> <ItemsControl.ItemTemplate>
<DataTemplate> <DataTemplate>
<Button Margin="6" Padding="6 0" <Button Style="{StaticResource PageNumButtonStyle}"
Width="21" Height="20"
Command="{Binding DataContext.GoToPageCommand, Command="{Binding DataContext.GoToPageCommand,
RelativeSource={RelativeSource AncestorType=ItemsControl}}" RelativeSource={RelativeSource AncestorType=ItemsControl}}"
CommandParameter="{Binding}"> CommandParameter="{Binding}">
@ -391,44 +381,17 @@
<!-- 각 아이템은 int(0,1,2,...) 이므로 그대로 컨버터 --> <!-- 각 아이템은 int(0,1,2,...) 이므로 그대로 컨버터 -->
<Binding Converter="{StaticResource PageIndexToDisplayConverter}" /> <Binding Converter="{StaticResource PageIndexToDisplayConverter}" />
</Button.Content> </Button.Content>
<Button.Style>
<Style TargetType="Button">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="#264A60" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Foreground" Value="#264A60"/>
<!-- 현재 페이지면 강조 -->
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource CurrentPageEqualsConverter}">
<!-- 현재 버튼의 인덱스 (각 아이템, int) -->
<Binding />
<!-- TanksPager.PageIndex -->
<Binding Path="DataContext.PageIndex"
RelativeSource="{RelativeSource AncestorType=ItemsControl}" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Background" Value="#325C80" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderThickness" Value="0" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button> </Button>
</DataTemplate> </DataTemplate>
</ItemsControl.ItemTemplate> </ItemsControl.ItemTemplate>
</ItemsControl> </ItemsControl>
<Button Command="{Binding TanksPager.NextPageCommand}" <Button Command="{Binding TanksPager.NextPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="ChevronRight"/> <md:PackIcon Kind="ChevronRight"/>
</Button> </Button>
<Button Command="{Binding TanksPager.LastPageCommand}" <Button Command="{Binding TanksPager.LastPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="PageLast"/> <md:PackIcon Kind="PageLast"/>
</Button> </Button>
</StackPanel> </StackPanel>
@ -454,7 +417,7 @@
<md:PackIcon Kind="PageFirst"/> <md:PackIcon Kind="PageFirst"/>
</Button> </Button>
<Button Command="{Binding PrevPageCommand}" <Button Command="{Binding PrevPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="ChevronLeft"/> <md:PackIcon Kind="ChevronLeft"/>
</Button> </Button>
@ -467,51 +430,24 @@
<ItemsControl.ItemTemplate> <ItemsControl.ItemTemplate>
<DataTemplate> <DataTemplate>
<Button Margin="6" Padding="6 0" <Button Style="{StaticResource PageNumButtonStyle}"
Width="21" Height="20"
Command="{Binding DataContext.GoToPageCommand, Command="{Binding DataContext.GoToPageCommand,
RelativeSource={RelativeSource AncestorType=ItemsControl}}" RelativeSource={RelativeSource AncestorType=ItemsControl}}"
CommandParameter="{Binding}"> CommandParameter="{Binding}">
<Button.Content> <Button.Content>
<Binding Converter="{StaticResource PageIndexToDisplayConverter}" /> <Binding Converter="{StaticResource PageIndexToDisplayConverter}" />
</Button.Content> </Button.Content>
<Button.Style>
<Style TargetType="Button">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="#264A60" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Foreground" Value="#264A60"/>
<!-- 🔹 현재 페이지면 강조 -->
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource CurrentPageEqualsConverter}">
<!--현재 버튼의 인덱스-->
<Binding />
<!--ViewModel의 PageIndex-->
<Binding Path="DataContext.PageIndex"
RelativeSource="{RelativeSource AncestorType=ItemsControl}" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Background" Value="#325C80" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderThickness" Value="0" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button> </Button>
</DataTemplate> </DataTemplate>
</ItemsControl.ItemTemplate> </ItemsControl.ItemTemplate>
</ItemsControl> </ItemsControl>
<Button Command="{Binding NextPageCommand}" <Button Command="{Binding NextPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="ChevronRight"/> <md:PackIcon Kind="ChevronRight"/>
</Button> </Button>
<Button Command="{Binding LastPageCommand}" <Button Command="{Binding LastPageCommand}"
Style="{StaticResource PageCommandButtonStyle}" Margin="4,0"> Style="{StaticResource PageCommandButtonStyle}">
<md:PackIcon Kind="PageLast"/> <md:PackIcon Kind="PageLast"/>
</Button> </Button>
</StackPanel> </StackPanel>
@ -573,11 +509,11 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="그래프" VerticalAlignment="Center" <TextBlock Text="그래프" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<ComboBox Margin="15 0 0 0" Height="35" Grid.Column="1" <ComboBox Margin="15 0 0 0" Height="35" Grid.Column="1"
Style="{StaticResource ComboBoxStyle}" Style="{StaticResource ComboBoxStyle}"
FontFamily="{StaticResource SCDream3}" FontFamily="{StaticResource Pretendard_Medium}"
ItemsSource="{Binding GraphTypes}" ItemsSource="{Binding GraphTypes}"
SelectedIndex="{Binding SelectedGraphIndex, Mode=TwoWay}" SelectedIndex="{Binding SelectedGraphIndex, Mode=TwoWay}"
helper:ComboBoxHelper.SelectFirstOnItemsChange="True" helper:ComboBoxHelper.SelectFirstOnItemsChange="True"
@ -589,10 +525,10 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="X축" VerticalAlignment="Center" <TextBlock Text="X축" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<ComboBox Margin="15 0 0 0" Height="35" Grid.Column="1" <ComboBox Margin="15 0 0 0" Height="35" Grid.Column="1"
Style="{StaticResource ComboBoxStyle}" Style="{StaticResource ComboBoxStyle}"
FontFamily="{StaticResource SCDream3}" FontFamily="{StaticResource Pretendard_Medium}"
ItemsSource="{Binding XFieldCandidates}" ItemsSource="{Binding XFieldCandidates}"
SelectedItem="{Binding SelectedXField}" SelectedItem="{Binding SelectedXField}"
DisplayMemberPath="Display"/> DisplayMemberPath="Display"/>
@ -605,9 +541,9 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock VerticalAlignment="Center" Padding="0" <TextBlock VerticalAlignment="Center" Padding="0"
Foreground="White"> Foreground="White">
<Run Text="수조" FontSize="18" FontFamily="{StaticResource SCDream4}"/> <Run Text="수조" FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}"/>
<LineBreak/> <LineBreak/>
<Run Text="(복수 선택 가능)" FontSize="14" Foreground="#767676"/> <Run Text="(복수 선택 가능)" FontFamily="{StaticResource Pretendard_Medium}" FontSize="14" Foreground="#767676"/>
</TextBlock> </TextBlock>
<ListBox ItemsSource="{Binding TankGroups}" <ListBox ItemsSource="{Binding TankGroups}"
@ -617,8 +553,8 @@
helper:MultiSelectBehavior.SelectedDictionary="{Binding SelectedWaterTanks}" helper:MultiSelectBehavior.SelectedDictionary="{Binding SelectedWaterTanks}"
helper:MultiSelectBehavior.KeyPath="Key" helper:MultiSelectBehavior.KeyPath="Key"
helper:MultiSelectBehavior.ValuePath="Value" helper:MultiSelectBehavior.ValuePath="Value"
FontSize="16" FontWeight="Bold" FontSize="18" FontWeight="Bold"
FontFamily="{StaticResource SCDream5}" FontFamily="{StaticResource Pretendard_Medium}"
Style="{StaticResource MaterialDesignChoiceChipListBox}" Style="{StaticResource MaterialDesignChoiceChipListBox}"
ItemContainerStyle="{StaticResource TransparentListBoxItemStyle}" ItemContainerStyle="{StaticResource TransparentListBoxItemStyle}"
Background="Transparent"> Background="Transparent">
@ -698,11 +634,11 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="Y축" VerticalAlignment="Center" Style="{StaticResource VisibleWhenLine}" <TextBlock Text="Y축" VerticalAlignment="Center" Style="{StaticResource VisibleWhenLine}"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<ComboBox ItemsSource="{Binding YFieldCandidates}" <ComboBox ItemsSource="{Binding YFieldCandidates}"
SelectedItem="{Binding SelectedYField, Mode=TwoWay}" SelectedItem="{Binding SelectedYField, Mode=TwoWay}"
Grid.Column="1" Grid.Column="1"
FontFamily="{StaticResource SCDream3}" FontFamily="{StaticResource Pretendard_Medium}"
DisplayMemberPath="Display" Margin="15 0 0 0" DisplayMemberPath="Display" Margin="15 0 0 0"
Height="35" Style="{StaticResource ComboBoxStyle}"/> Height="35" Style="{StaticResource ComboBoxStyle}"/>
</Grid> </Grid>
@ -716,7 +652,7 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="필드 종류" VerticalAlignment="Center" <TextBlock Text="필드 종류" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<StackPanel Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Left" Margin="15 0"> <StackPanel Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Left" Margin="15 0">
<RadioButton x:Name="rbStatus" <RadioButton x:Name="rbStatus"
GroupName="strpPlot" Margin="0 0 16 0" GroupName="strpPlot" Margin="0 0 16 0"
@ -745,7 +681,7 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock VerticalAlignment="Top" Foreground="White"> <TextBlock VerticalAlignment="Top" Foreground="White">
<Run Text="Y축" FontSize="18" FontFamily="{StaticResource SCDream4}"/> <Run Text="Y축" FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}"/>
<LineBreak/> <LineBreak/>
<Run Text="(복수 선택 가능)" FontSize="14" Foreground="#767676"/> <Run Text="(복수 선택 가능)" FontSize="14" Foreground="#767676"/>
</TextBlock> </TextBlock>
@ -756,8 +692,6 @@
SelectionMode="Extended" SelectionMode="Extended"
helper:MultiSelectBehavior.SelectedItems="{Binding SelectedYFields, Mode=OneWay}" helper:MultiSelectBehavior.SelectedItems="{Binding SelectedYFields, Mode=OneWay}"
Height="Auto" Background="White" Height="Auto" Background="White"
FontSize="14" FontWeight="Bold"
FontFamily="{StaticResource SCDream5}"
Style="{StaticResource MaterialDesignFilterChipListBox}" Style="{StaticResource MaterialDesignFilterChipListBox}"
ItemContainerStyle="{StaticResource ListBoxItemStyle}"> ItemContainerStyle="{StaticResource ListBoxItemStyle}">
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
@ -783,12 +717,12 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="Y축" VerticalAlignment="Center" <TextBlock Text="Y축" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream4}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<ComboBox ItemsSource="{Binding YFieldCandidates}" <ComboBox ItemsSource="{Binding YFieldCandidates}"
SelectedItem="{Binding SelectedYField}" SelectedItem="{Binding SelectedYField}"
DisplayMemberPath="Display" Height="35" DisplayMemberPath="Display" Height="35"
Grid.Column="1" Grid.ColumnSpan="3" Margin="15 0 0 0" Grid.Column="1" Grid.ColumnSpan="3" Margin="15 0 0 0"
FontFamily="{StaticResource SCDream3}" FontFamily="{StaticResource Pretendard_Medium}"
Style="{StaticResource ComboBoxStyle}"/> Style="{StaticResource ComboBoxStyle}"/>
</Grid> </Grid>
@ -799,13 +733,13 @@
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="마커 크기" VerticalAlignment="Center" <TextBlock Text="마커 크기" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream5}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<Slider Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="15 0 0 0" <Slider Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Left" 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}"/> Style="{StaticResource CustomSliderStyle}"/>
<TextBlock Text="{Binding ScatterMarkerSize}" Margin="15 0" <TextBlock Text="{Binding ScatterMarkerSize}" Margin="15 0"
Grid.Column="2" VerticalAlignment="Center" Grid.Column="2" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream3}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_Medium}" Foreground="White"/>
</Grid> </Grid>
</StackPanel> </StackPanel>
@ -818,7 +752,7 @@
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="시간 범위" VerticalAlignment="Center" <TextBlock Text="시간 범위" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream5}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" 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"
@ -827,7 +761,7 @@
<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 Pretendard_Medium}" Foreground="White"/>
</Grid> </Grid>
<Grid Margin="0 0 0 10"> <Grid Margin="0 0 0 10">
@ -836,12 +770,12 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="값 필드" VerticalAlignment="Center" <TextBlock Text="값 필드" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream5}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" Foreground="White"/>
<ComboBox ItemsSource="{Binding YFieldCandidates}" <ComboBox ItemsSource="{Binding YFieldCandidates}"
SelectedItem="{Binding SelectedYField}" SelectedItem="{Binding SelectedYField}"
DisplayMemberPath="Display" Height="35" DisplayMemberPath="Display" Height="35"
Grid.Column="1" Margin="15 0 0 0" Grid.Column="1" Margin="15 0 0 0"
FontFamily="{StaticResource SCDream3}" FontFamily="{StaticResource Pretendard_Medium}"
Style="{StaticResource ComboBoxStyle}"/> Style="{StaticResource ComboBoxStyle}"/>
</Grid> </Grid>
@ -852,7 +786,7 @@
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock Text="박스 너비" VerticalAlignment="Center" <TextBlock Text="박스 너비" VerticalAlignment="Center"
FontSize="18" FontFamily="{StaticResource SCDream5}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_SemiBold}" 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"
@ -861,7 +795,7 @@
<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"
FontSize="18" FontFamily="{StaticResource SCDream3}" Foreground="White"/> FontSize="18" FontFamily="{StaticResource Pretendard_Medium}" Foreground="White"/>
</Grid> </Grid>
</StackPanel> </StackPanel>
</Grid> </Grid>

@ -1,4 +1,5 @@
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Windows.Documents;
using Microsoft.VisualBasic; using Microsoft.VisualBasic;
using OxyPlot; using OxyPlot;
using OxyPlot.Axes; using OxyPlot.Axes;
@ -433,7 +434,6 @@ namespace SmartAquaViewer.ViewModel
if (tankIds.Count == 0) { Model.InvalidatePlot(true); return; } if (tankIds.Count == 0) { Model.InvalidatePlot(true); return; }
// 색상/마커 // 색상/마커
var colors = OxyPalettes.Hot(tankIds.Count).Colors;
var markerCycle = new[] var markerCycle = new[]
{ {
MarkerType.Circle, MarkerType.Square, MarkerType.Triangle, MarkerType.Diamond, MarkerType.Circle, MarkerType.Square, MarkerType.Triangle, MarkerType.Diamond,
@ -449,7 +449,7 @@ namespace SmartAquaViewer.ViewModel
MarkerType = markerCycle[k % markerCycle.Length], MarkerType = markerCycle[k % markerCycle.Length],
MarkerSize = markerSize, MarkerSize = markerSize,
// 색상 자동 배정에 맡기려면 MarkerFill 설정 생략해도 OK // 색상 자동 배정에 맡기려면 MarkerFill 설정 생략해도 OK
MarkerFill = OxyColor.FromAColor(160, colors[k]), // 약간 투명 MarkerFill = OxyColor.FromAColor(160, TankColors[k]), // 약간 투명
}; };
// 포인트 수집 (시간순 정렬 권장) // 포인트 수집 (시간순 정렬 권장)
@ -493,7 +493,7 @@ namespace SmartAquaViewer.ViewModel
{ {
Title = $"Tank {tankId} 회귀", Title = $"Tank {tankId} 회귀",
StrokeThickness = 2, StrokeThickness = 2,
Color = colors[k] Color = TankColors[k]
}; };
reg.Points.Add(new DataPoint(minX, a * minX + b)); reg.Points.Add(new DataPoint(minX, a * minX + b));
reg.Points.Add(new DataPoint(maxX, a * maxX + b)); reg.Points.Add(new DataPoint(maxX, a * maxX + b));
@ -772,6 +772,7 @@ namespace SmartAquaViewer.ViewModel
InsideLabelPosition = 0.7, InsideLabelPosition = 0.7,
OutsideLabelFormat = null, // 라벨은 내부만 OutsideLabelFormat = null, // 라벨은 내부만
FontSize = 14, FontSize = 14,
FontWeight = FontWeights.Bold,
InsideLabelColor = OxyColors.Black InsideLabelColor = OxyColors.Black
}; };
if (donut) if (donut)

Loading…
Cancel
Save