2026-10-20 16:13:34 +09:00
|
|
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
|
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
|
|
|
|
|
|
|
|
|
<!-- Color Palette -->
|
|
|
|
|
<Color x:Key="BgDarkColor">#0F172A</Color>
|
|
|
|
|
<Color x:Key="SidebarBgColor">#090D16</Color>
|
|
|
|
|
<Color x:Key="CardBgColor">#1E293B</Color>
|
|
|
|
|
<Color x:Key="CardBorderColor">#334155</Color>
|
|
|
|
|
<Color x:Key="PrimaryAccentColor">#3B82F6</Color>
|
|
|
|
|
<Color x:Key="PrimaryAccentHoverColor">#60A5FA</Color>
|
|
|
|
|
<Color x:Key="TextPrimaryColor">#F8FAFC</Color>
|
|
|
|
|
<Color x:Key="TextSecondaryColor">#94A3B8</Color>
|
|
|
|
|
<Color x:Key="SuccessColor">#10B981</Color>
|
|
|
|
|
<Color x:Key="WarningColor">#F59E0B</Color>
|
|
|
|
|
<Color x:Key="DangerColor">#EF4444</Color>
|
|
|
|
|
|
|
|
|
|
<!-- SolidColorBrushes -->
|
|
|
|
|
<SolidColorBrush x:Key="BgDarkBrush" Color="{StaticResource BgDarkColor}" />
|
|
|
|
|
<SolidColorBrush x:Key="SidebarBgBrush" Color="{StaticResource SidebarBgColor}" />
|
|
|
|
|
<SolidColorBrush x:Key="CardBgBrush" Color="{StaticResource CardBgColor}" />
|
|
|
|
|
<SolidColorBrush x:Key="CardBorderBrush" Color="{StaticResource CardBorderColor}" />
|
|
|
|
|
<SolidColorBrush x:Key="PrimaryAccentBrush" Color="{StaticResource PrimaryAccentColor}" />
|
|
|
|
|
<SolidColorBrush x:Key="PrimaryAccentHoverBrush" Color="{StaticResource PrimaryAccentHoverColor}" />
|
|
|
|
|
<SolidColorBrush x:Key="TextPrimaryBrush" Color="{StaticResource TextPrimaryColor}" />
|
|
|
|
|
<SolidColorBrush x:Key="TextSecondaryBrush" Color="{StaticResource TextSecondaryColor}" />
|
|
|
|
|
<SolidColorBrush x:Key="SuccessBrush" Color="{StaticResource SuccessColor}" />
|
|
|
|
|
<SolidColorBrush x:Key="WarningBrush" Color="{StaticResource WarningColor}" />
|
|
|
|
|
<SolidColorBrush x:Key="DangerBrush" Color="{StaticResource DangerColor}" />
|
|
|
|
|
|
|
|
|
|
<!-- Default Font -->
|
|
|
|
|
<FontFamily x:Key="ModernFont">Segoe UI, Apple SD Gothic Neo, Malgun Gothic</FontFamily>
|
|
|
|
|
<FontFamily x:Key="IconFont">Segoe MDL2 Assets, Segoe Fluent Icons</FontFamily>
|
|
|
|
|
|
|
|
|
|
<!-- Nav Button Style -->
|
|
|
|
|
<Style x:Key="NavButtonStyle" TargetType="RadioButton">
|
|
|
|
|
<Setter Property="Background" Value="Transparent" />
|
|
|
|
|
<Setter Property="Foreground" Value="{StaticResource TextSecondaryBrush}" />
|
|
|
|
|
<Setter Property="Height" Value="46" />
|
|
|
|
|
<Setter Property="Margin" Value="0,2,0,2" />
|
|
|
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
|
|
|
<Setter Property="FontFamily" Value="{StaticResource ModernFont}" />
|
|
|
|
|
<Setter Property="FontSize" Value="13.5" />
|
|
|
|
|
<Setter Property="FontWeight" Value="SemiBold" />
|
|
|
|
|
<Setter Property="Template">
|
|
|
|
|
<Setter.Value>
|
|
|
|
|
<ControlTemplate TargetType="RadioButton">
|
|
|
|
|
<Border x:Name="border"
|
|
|
|
|
Background="{TemplateBinding Background}"
|
|
|
|
|
CornerRadius="8"
|
|
|
|
|
Padding="12,0"
|
|
|
|
|
Margin="8,2">
|
|
|
|
|
<Grid>
|
|
|
|
|
<Rectangle x:Name="indicator"
|
|
|
|
|
Width="3.5"
|
|
|
|
|
Height="18"
|
|
|
|
|
HorizontalAlignment="Left"
|
|
|
|
|
Fill="{StaticResource PrimaryAccentBrush}"
|
|
|
|
|
RadiusX="2" RadiusY="2"
|
|
|
|
|
Visibility="Collapsed" />
|
|
|
|
|
<ContentPresenter Margin="8,0,0,0"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
RecognizesAccessKey="False" />
|
|
|
|
|
</Grid>
|
|
|
|
|
</Border>
|
|
|
|
|
<ControlTemplate.Triggers>
|
|
|
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
|
|
|
<Setter TargetName="border" Property="Background" Value="#1A2B4C" />
|
|
|
|
|
<Setter Property="Foreground" Value="{StaticResource TextPrimaryBrush}" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="IsChecked" Value="True">
|
|
|
|
|
<Setter TargetName="border" Property="Background" Value="#1E3A8A" />
|
|
|
|
|
<Setter Property="Foreground" Value="#FFFFFF" />
|
|
|
|
|
<Setter TargetName="indicator" Property="Visibility" Value="Visible" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
</ControlTemplate.Triggers>
|
|
|
|
|
</ControlTemplate>
|
|
|
|
|
</Setter.Value>
|
|
|
|
|
</Setter>
|
|
|
|
|
</Style>
|
|
|
|
|
|
|
|
|
|
<!-- Modern Action Button -->
|
|
|
|
|
<Style x:Key="PrimaryButtonStyle" TargetType="Button">
|
|
|
|
|
<Setter Property="Background" Value="{StaticResource PrimaryAccentBrush}" />
|
|
|
|
|
<Setter Property="Foreground" Value="#FFFFFF" />
|
|
|
|
|
<Setter Property="FontFamily" Value="{StaticResource ModernFont}" />
|
|
|
|
|
<Setter Property="FontSize" Value="13" />
|
|
|
|
|
<Setter Property="FontWeight" Value="SemiBold" />
|
|
|
|
|
<Setter Property="Padding" Value="16,8" />
|
|
|
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
|
|
|
<Setter Property="BorderThickness" Value="0" />
|
|
|
|
|
<Setter Property="Template">
|
|
|
|
|
<Setter.Value>
|
|
|
|
|
<ControlTemplate TargetType="Button">
|
|
|
|
|
<Border x:Name="btnBorder"
|
|
|
|
|
Background="{TemplateBinding Background}"
|
|
|
|
|
CornerRadius="6"
|
|
|
|
|
Padding="{TemplateBinding Padding}">
|
|
|
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
|
|
|
|
|
</Border>
|
|
|
|
|
<ControlTemplate.Triggers>
|
|
|
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
|
|
|
<Setter TargetName="btnBorder" Property="Background" Value="{StaticResource PrimaryAccentHoverBrush}" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="IsPressed" Value="True">
|
|
|
|
|
<Setter TargetName="btnBorder" Property="Background" Value="#2563EB" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
|
|
|
<Setter TargetName="btnBorder" Property="Background" Value="#334155" />
|
|
|
|
|
<Setter Property="Foreground" Value="#64748B" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
</ControlTemplate.Triggers>
|
|
|
|
|
</ControlTemplate>
|
|
|
|
|
</Setter.Value>
|
|
|
|
|
</Setter>
|
|
|
|
|
</Style>
|
|
|
|
|
|
|
|
|
|
<Style x:Key="SecondaryButtonStyle" TargetType="Button">
|
|
|
|
|
<Setter Property="Background" Value="#334155" />
|
|
|
|
|
<Setter Property="Foreground" Value="{StaticResource TextPrimaryBrush}" />
|
|
|
|
|
<Setter Property="FontFamily" Value="{StaticResource ModernFont}" />
|
|
|
|
|
<Setter Property="FontSize" Value="13" />
|
|
|
|
|
<Setter Property="FontWeight" Value="Medium" />
|
|
|
|
|
<Setter Property="Padding" Value="14,7" />
|
|
|
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
|
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
|
|
|
<Setter Property="BorderBrush" Value="#475569" />
|
|
|
|
|
<Setter Property="Template">
|
|
|
|
|
<Setter.Value>
|
|
|
|
|
<ControlTemplate TargetType="Button">
|
|
|
|
|
<Border x:Name="btnBorder"
|
|
|
|
|
Background="{TemplateBinding Background}"
|
|
|
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
|
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
|
|
|
CornerRadius="6"
|
|
|
|
|
Padding="{TemplateBinding Padding}">
|
|
|
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
|
|
|
|
|
</Border>
|
|
|
|
|
<ControlTemplate.Triggers>
|
|
|
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
|
|
|
<Setter TargetName="btnBorder" Property="Background" Value="#475569" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="IsPressed" Value="True">
|
|
|
|
|
<Setter TargetName="btnBorder" Property="Background" Value="#1E293B" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
</ControlTemplate.Triggers>
|
|
|
|
|
</ControlTemplate>
|
|
|
|
|
</Setter.Value>
|
|
|
|
|
</Setter>
|
|
|
|
|
</Style>
|
|
|
|
|
|
|
|
|
|
<!-- Modern TextBox Style -->
|
|
|
|
|
<Style x:Key="ModernTextBoxStyle" TargetType="TextBox">
|
|
|
|
|
<Setter Property="Background" Value="#0F172A" />
|
2026-10-20 20:38:49 +09:00
|
|
|
<Setter Property="Foreground" Value="#FFFFFF" />
|
2026-10-20 16:13:34 +09:00
|
|
|
<Setter Property="BorderBrush" Value="{StaticResource CardBorderBrush}" />
|
|
|
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
|
|
|
<Setter Property="Padding" Value="10,6" />
|
|
|
|
|
<Setter Property="FontFamily" Value="{StaticResource ModernFont}" />
|
|
|
|
|
<Setter Property="FontSize" Value="13" />
|
|
|
|
|
<Setter Property="CaretBrush" Value="{StaticResource PrimaryAccentBrush}" />
|
|
|
|
|
<Setter Property="Template">
|
|
|
|
|
<Setter.Value>
|
|
|
|
|
<ControlTemplate TargetType="TextBox">
|
|
|
|
|
<Border x:Name="border"
|
|
|
|
|
Background="{TemplateBinding Background}"
|
|
|
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
|
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
|
|
|
CornerRadius="6">
|
|
|
|
|
<ScrollViewer x:Name="PART_ContentHost"
|
|
|
|
|
Margin="2"
|
|
|
|
|
VerticalAlignment="Center" />
|
|
|
|
|
</Border>
|
|
|
|
|
<ControlTemplate.Triggers>
|
|
|
|
|
<Trigger Property="IsFocused" Value="True">
|
|
|
|
|
<Setter TargetName="border" Property="BorderBrush" Value="{StaticResource PrimaryAccentBrush}" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
|
|
|
<Setter TargetName="border" Property="BorderBrush" Value="{StaticResource PrimaryAccentHoverBrush}" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
</ControlTemplate.Triggers>
|
|
|
|
|
</ControlTemplate>
|
|
|
|
|
</Setter.Value>
|
|
|
|
|
</Setter>
|
|
|
|
|
</Style>
|
|
|
|
|
|
|
|
|
|
<!-- Modern Card Container Style -->
|
|
|
|
|
<Style x:Key="ModernCardStyle" TargetType="Border">
|
|
|
|
|
<Setter Property="Background" Value="{StaticResource CardBgBrush}" />
|
|
|
|
|
<Setter Property="BorderBrush" Value="{StaticResource CardBorderBrush}" />
|
|
|
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
|
|
|
<Setter Property="CornerRadius" Value="10" />
|
|
|
|
|
<Setter Property="Padding" Value="18" />
|
|
|
|
|
<Setter Property="Margin" Value="6" />
|
|
|
|
|
</Style>
|
|
|
|
|
|
2026-10-20 20:38:49 +09:00
|
|
|
<!-- ============================================================================== -->
|
2026-10-20 20:48:08 +09:00
|
|
|
<!-- Custom Modern ComboBox (완전한 Dark 템플릿 - 회색 시스템 버튼 원천 제거) -->
|
2026-10-20 20:38:49 +09:00
|
|
|
<!-- ============================================================================== -->
|
|
|
|
|
|
2026-10-20 20:48:08 +09:00
|
|
|
<!-- ComboBoxItem Style -->
|
|
|
|
|
<Style x:Key="ModernComboBoxItemStyle" TargetType="ComboBoxItem">
|
2026-10-20 20:38:49 +09:00
|
|
|
<Setter Property="Background" Value="#1E293B" />
|
|
|
|
|
<Setter Property="Foreground" Value="#F8FAFC" />
|
2026-10-20 20:48:08 +09:00
|
|
|
<Setter Property="Padding" Value="12,8" />
|
2026-10-20 20:38:49 +09:00
|
|
|
<Setter Property="FontSize" Value="13" />
|
|
|
|
|
<Setter Property="FontFamily" Value="{StaticResource ModernFont}" />
|
|
|
|
|
<Setter Property="Cursor" Value="Hand" />
|
2026-10-20 20:48:08 +09:00
|
|
|
<Setter Property="HorizontalContentAlignment" Value="Left" />
|
|
|
|
|
<Setter Property="VerticalContentAlignment" Value="Center" />
|
2026-10-20 20:38:49 +09:00
|
|
|
<Setter Property="Template">
|
|
|
|
|
<Setter.Value>
|
|
|
|
|
<ControlTemplate TargetType="ComboBoxItem">
|
|
|
|
|
<Border x:Name="itemBorder"
|
|
|
|
|
Background="{TemplateBinding Background}"
|
|
|
|
|
Padding="{TemplateBinding Padding}">
|
|
|
|
|
<ContentPresenter HorizontalAlignment="Left" VerticalAlignment="Center" />
|
|
|
|
|
</Border>
|
|
|
|
|
<ControlTemplate.Triggers>
|
|
|
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
|
|
|
<Setter TargetName="itemBorder" Property="Background" Value="#2563EB" />
|
|
|
|
|
<Setter Property="Foreground" Value="#FFFFFF" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="IsSelected" Value="True">
|
|
|
|
|
<Setter TargetName="itemBorder" Property="Background" Value="#1D4ED8" />
|
|
|
|
|
<Setter Property="Foreground" Value="#FFFFFF" />
|
2026-10-20 20:48:08 +09:00
|
|
|
<Setter Property="FontWeight" Value="Bold" />
|
2026-10-20 20:38:49 +09:00
|
|
|
</Trigger>
|
|
|
|
|
</ControlTemplate.Triggers>
|
|
|
|
|
</ControlTemplate>
|
|
|
|
|
</Setter.Value>
|
|
|
|
|
</Setter>
|
|
|
|
|
</Style>
|
|
|
|
|
|
2026-10-20 20:48:08 +09:00
|
|
|
<!-- ComboBox ToggleButton Template -->
|
|
|
|
|
<ControlTemplate x:Key="ComboBoxToggleButtonTemplate" TargetType="ToggleButton">
|
|
|
|
|
<Border x:Name="templateRoot"
|
|
|
|
|
Background="{TemplateBinding Background}"
|
|
|
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
|
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
|
|
|
CornerRadius="6">
|
|
|
|
|
<Grid HorizontalAlignment="Right" Width="30">
|
|
|
|
|
<!-- Dropdown Arrow Icon -->
|
|
|
|
|
<TextBlock Text=""
|
|
|
|
|
FontFamily="{StaticResource IconFont}"
|
|
|
|
|
FontSize="10"
|
|
|
|
|
Foreground="{StaticResource TextSecondaryBrush}"
|
|
|
|
|
HorizontalAlignment="Center"
|
|
|
|
|
VerticalAlignment="Center" />
|
|
|
|
|
</Grid>
|
|
|
|
|
</Border>
|
|
|
|
|
<ControlTemplate.Triggers>
|
|
|
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
|
|
|
<Setter TargetName="templateRoot" Property="BorderBrush" Value="{StaticResource PrimaryAccentBrush}" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="IsChecked" Value="True">
|
|
|
|
|
<Setter TargetName="templateRoot" Property="BorderBrush" Value="{StaticResource PrimaryAccentHoverBrush}" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
</ControlTemplate.Triggers>
|
|
|
|
|
</ControlTemplate>
|
|
|
|
|
|
|
|
|
|
<!-- ComboBox Main Style -->
|
2026-10-20 20:38:49 +09:00
|
|
|
<Style TargetType="ComboBox">
|
|
|
|
|
<Setter Property="Background" Value="#0F172A" />
|
|
|
|
|
<Setter Property="Foreground" Value="#F8FAFC" />
|
|
|
|
|
<Setter Property="BorderBrush" Value="{StaticResource CardBorderBrush}" />
|
|
|
|
|
<Setter Property="BorderThickness" Value="1" />
|
2026-10-20 20:48:08 +09:00
|
|
|
<Setter Property="Padding" Value="10,6" />
|
2026-10-20 20:38:49 +09:00
|
|
|
<Setter Property="FontFamily" Value="{StaticResource ModernFont}" />
|
|
|
|
|
<Setter Property="FontSize" Value="13" />
|
2026-10-20 20:48:08 +09:00
|
|
|
<Setter Property="ItemContainerStyle" Value="{StaticResource ModernComboBoxItemStyle}" />
|
|
|
|
|
<Setter Property="Template">
|
|
|
|
|
<Setter.Value>
|
|
|
|
|
<ControlTemplate TargetType="ComboBox">
|
|
|
|
|
<Grid x:Name="templateRoot">
|
|
|
|
|
<Popup x:Name="PART_Popup"
|
|
|
|
|
AllowsTransparency="True"
|
|
|
|
|
IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
|
|
|
|
Placement="Bottom"
|
|
|
|
|
PopupAnimation="Slide">
|
|
|
|
|
<Border x:Name="dropDownBorder"
|
|
|
|
|
Background="#1E293B"
|
|
|
|
|
BorderBrush="#334155"
|
|
|
|
|
BorderThickness="1"
|
|
|
|
|
CornerRadius="6"
|
|
|
|
|
MaxHeight="{TemplateBinding MaxDropDownHeight}"
|
|
|
|
|
MinWidth="{Binding ActualWidth, ElementName=templateRoot}">
|
|
|
|
|
<ScrollViewer x:Name="DropDownScrollViewer" Margin="2">
|
|
|
|
|
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" />
|
|
|
|
|
</ScrollViewer>
|
|
|
|
|
</Border>
|
|
|
|
|
</Popup>
|
|
|
|
|
|
|
|
|
|
<!-- Toggle Button (Closed Box) -->
|
|
|
|
|
<ToggleButton x:Name="toggleButton"
|
|
|
|
|
Background="{TemplateBinding Background}"
|
|
|
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
|
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
|
|
|
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
|
|
|
|
Template="{StaticResource ComboBoxToggleButtonTemplate}" />
|
|
|
|
|
|
|
|
|
|
<!-- Content Area -->
|
|
|
|
|
<ContentPresenter x:Name="contentPresenter"
|
|
|
|
|
Content="{TemplateBinding SelectionBoxItem}"
|
|
|
|
|
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
|
|
|
|
ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
|
|
|
|
|
ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}"
|
|
|
|
|
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
|
|
|
|
IsHitTestVisible="False"
|
|
|
|
|
Margin="{TemplateBinding Padding}"
|
|
|
|
|
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
|
|
|
|
|
</Grid>
|
|
|
|
|
</ControlTemplate>
|
|
|
|
|
</Setter.Value>
|
|
|
|
|
</Setter>
|
2026-10-20 20:38:49 +09:00
|
|
|
</Style>
|
|
|
|
|
|
|
|
|
|
<!-- ============================================================================== -->
|
2026-10-20 20:48:08 +09:00
|
|
|
<!-- Modern DataGrid Sub-Styles (ColumnHeader, Row, Cell 완벽 바인딩) -->
|
2026-10-20 20:38:49 +09:00
|
|
|
<!-- ============================================================================== -->
|
|
|
|
|
|
2026-10-20 20:48:08 +09:00
|
|
|
<!-- 1. ColumnHeader Style -->
|
|
|
|
|
<Style x:Key="ModernColumnHeaderStyle" TargetType="DataGridColumnHeader">
|
2026-10-20 20:38:49 +09:00
|
|
|
<Setter Property="Background" Value="#090D16" />
|
2026-10-20 20:48:08 +09:00
|
|
|
<Setter Property="Foreground" Value="#93C5FD" />
|
2026-10-20 20:38:49 +09:00
|
|
|
<Setter Property="FontWeight" Value="Bold" />
|
2026-10-20 20:48:08 +09:00
|
|
|
<Setter Property="FontSize" Value="12.5" />
|
|
|
|
|
<Setter Property="Padding" Value="14,10" />
|
2026-10-20 20:38:49 +09:00
|
|
|
<Setter Property="BorderBrush" Value="#334155" />
|
|
|
|
|
<Setter Property="BorderThickness" Value="0,0,1,1" />
|
|
|
|
|
<Setter Property="HorizontalContentAlignment" Value="Left" />
|
|
|
|
|
</Style>
|
|
|
|
|
|
2026-10-20 20:48:08 +09:00
|
|
|
<!-- 2. Cell Style -->
|
|
|
|
|
<Style x:Key="ModernCellStyle" TargetType="DataGridCell">
|
|
|
|
|
<Setter Property="Background" Value="Transparent" />
|
|
|
|
|
<Setter Property="Foreground" Value="#F8FAFC" />
|
|
|
|
|
<Setter Property="Padding" Value="12,8" />
|
2026-10-20 20:38:49 +09:00
|
|
|
<Setter Property="BorderThickness" Value="0" />
|
|
|
|
|
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
|
|
|
|
|
<Setter Property="Template">
|
|
|
|
|
<Setter.Value>
|
|
|
|
|
<ControlTemplate TargetType="DataGridCell">
|
|
|
|
|
<Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}">
|
|
|
|
|
<ContentPresenter VerticalAlignment="Center" />
|
|
|
|
|
</Border>
|
|
|
|
|
</ControlTemplate>
|
|
|
|
|
</Setter.Value>
|
|
|
|
|
</Setter>
|
|
|
|
|
<Style.Triggers>
|
|
|
|
|
<Trigger Property="IsSelected" Value="True">
|
|
|
|
|
<Setter Property="Background" Value="#2563EB" />
|
|
|
|
|
<Setter Property="Foreground" Value="#FFFFFF" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
</Style.Triggers>
|
|
|
|
|
</Style>
|
|
|
|
|
|
2026-10-20 20:48:08 +09:00
|
|
|
<!-- 3. Row Style -->
|
|
|
|
|
<Style x:Key="ModernRowStyle" TargetType="DataGridRow">
|
|
|
|
|
<Setter Property="Background" Value="#1E293B" />
|
2026-10-20 20:38:49 +09:00
|
|
|
<Setter Property="Foreground" Value="#F8FAFC" />
|
|
|
|
|
<Setter Property="FontFamily" Value="{StaticResource ModernFont}" />
|
|
|
|
|
<Setter Property="FontSize" Value="12.5" />
|
|
|
|
|
<Setter Property="Cursor" Value="Hand" />
|
2026-10-20 20:48:08 +09:00
|
|
|
<Setter Property="BorderThickness" Value="0,0,0,1" />
|
|
|
|
|
<Setter Property="BorderBrush" Value="#2D3748" />
|
2026-10-20 20:38:49 +09:00
|
|
|
<Style.Triggers>
|
|
|
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
|
|
|
<Setter Property="Background" Value="#1E3A8A" />
|
|
|
|
|
<Setter Property="Foreground" Value="#FFFFFF" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="IsSelected" Value="True">
|
|
|
|
|
<Setter Property="Background" Value="#2563EB" />
|
|
|
|
|
<Setter Property="Foreground" Value="#FFFFFF" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
</Style.Triggers>
|
|
|
|
|
</Style>
|
|
|
|
|
|
|
|
|
|
<!-- 4. Global Modern DataGrid Style -->
|
2026-10-20 16:13:34 +09:00
|
|
|
<Style x:Key="ModernDataGridStyle" TargetType="DataGrid">
|
2026-10-20 20:48:08 +09:00
|
|
|
<Setter Property="Background" Value="#1E293B" />
|
2026-10-20 16:13:34 +09:00
|
|
|
<Setter Property="BorderBrush" Value="{StaticResource CardBorderBrush}" />
|
|
|
|
|
<Setter Property="BorderThickness" Value="1" />
|
2026-10-20 20:38:49 +09:00
|
|
|
<Setter Property="Foreground" Value="#F8FAFC" />
|
|
|
|
|
<Setter Property="RowBackground" Value="#1E293B" />
|
2026-10-20 16:13:34 +09:00
|
|
|
<Setter Property="AlternatingRowBackground" Value="#162032" />
|
|
|
|
|
<Setter Property="GridLinesVisibility" Value="Horizontal" />
|
|
|
|
|
<Setter Property="HorizontalGridLinesBrush" Value="#2D3748" />
|
|
|
|
|
<Setter Property="VerticalGridLinesBrush" Value="Transparent" />
|
|
|
|
|
<Setter Property="AutoGenerateColumns" Value="False" />
|
|
|
|
|
<Setter Property="CanUserAddRows" Value="False" />
|
|
|
|
|
<Setter Property="CanUserResizeRows" Value="False" />
|
|
|
|
|
<Setter Property="HeadersVisibility" Value="Column" />
|
|
|
|
|
<Setter Property="SelectionMode" Value="Single" />
|
|
|
|
|
<Setter Property="FontFamily" Value="{StaticResource ModernFont}" />
|
|
|
|
|
<Setter Property="FontSize" Value="12.5" />
|
2026-10-20 20:48:08 +09:00
|
|
|
<!-- 명시적 서브 스타일 세터 주입 (Windows 기본 흰색 테마 침투 차단) -->
|
|
|
|
|
<Setter Property="ColumnHeaderStyle" Value="{StaticResource ModernColumnHeaderStyle}" />
|
|
|
|
|
<Setter Property="RowStyle" Value="{StaticResource ModernRowStyle}" />
|
|
|
|
|
<Setter Property="CellStyle" Value="{StaticResource ModernCellStyle}" />
|
2026-10-20 16:13:34 +09:00
|
|
|
</Style>
|
|
|
|
|
|
2026-10-20 20:48:08 +09:00
|
|
|
<!-- Default TargetType Styles for Implicit Binding -->
|
|
|
|
|
<Style TargetType="DataGridColumnHeader" BasedOn="{StaticResource ModernColumnHeaderStyle}" />
|
|
|
|
|
<Style TargetType="DataGridCell" BasedOn="{StaticResource ModernCellStyle}" />
|
|
|
|
|
<Style TargetType="DataGridRow" BasedOn="{StaticResource ModernRowStyle}" />
|
|
|
|
|
|
|
|
|
|
<!-- CheckBox Style -->
|
2026-10-20 20:38:49 +09:00
|
|
|
<Style TargetType="CheckBox">
|
|
|
|
|
<Setter Property="Foreground" Value="#F8FAFC" />
|
|
|
|
|
<Setter Property="FontSize" Value="13" />
|
|
|
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
|
|
|
<Setter Property="VerticalAlignment" Value="Center" />
|
|
|
|
|
</Style>
|
|
|
|
|
|
2026-10-20 20:48:08 +09:00
|
|
|
<!-- ListBox & ListBoxItem Style -->
|
|
|
|
|
<Style TargetType="ListBoxItem">
|
|
|
|
|
<Setter Property="Background" Value="Transparent" />
|
|
|
|
|
<Setter Property="Foreground" Value="#F8FAFC" />
|
|
|
|
|
<Setter Property="Padding" Value="8,4" />
|
|
|
|
|
<Style.Triggers>
|
|
|
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
|
|
|
<Setter Property="Background" Value="#1E3A8A" />
|
|
|
|
|
<Setter Property="Foreground" Value="#FFFFFF" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="IsSelected" Value="True">
|
|
|
|
|
<Setter Property="Background" Value="#2563EB" />
|
|
|
|
|
<Setter Property="Foreground" Value="#FFFFFF" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
</Style.Triggers>
|
|
|
|
|
</Style>
|
|
|
|
|
|
2026-10-20 16:13:34 +09:00
|
|
|
</ResourceDictionary>
|