GUI/Styles.xaml

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Color x:Key="PrimaryColor">#2B579A</Color>
    <Color x:Key="AccentColor">#0078D4</Color>
    <SolidColorBrush x:Key="PrimaryBrush" Color="{StaticResource PrimaryColor}" />
    <SolidColorBrush x:Key="AccentBrush" Color="{StaticResource AccentColor}" />
    <SolidColorBrush x:Key="ButtonForegroundBrush" Color="White" />
    <SolidColorBrush x:Key="PanelBackgroundBrush" Color="#FFFFFFFF" />
    <SolidColorBrush x:Key="PaneBorderBrush" Color="#D6D6D6" />
 
    <!-- GroupBox Style -->
    <Style TargetType="GroupBox">
        <Setter Property="Margin" Value="0,0,0,8" />
        <Setter Property="Padding" Value="10" />
        <Setter Property="Background" Value="#FFFFFFFF" />
        <Setter Property="BorderBrush" Value="#D6D6D6" />
        <Setter Property="BorderThickness" Value="1" />
        <Setter Property="HeaderTemplate">
            <Setter.Value>
                <DataTemplate>
                    <TextBlock
                        FontWeight="SemiBold"
                        Foreground="{StaticResource PrimaryBrush}"
                        Text="{Binding}" />
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>
 
    <!-- Button Style -->
    <Style TargetType="Button">
        <Setter Property="Margin" Value="0,0,0,0" />
        <Setter Property="Padding" Value="14,6" />
        <Setter Property="Background" Value="{StaticResource PrimaryBrush}" />
        <Setter Property="Foreground" Value="{StaticResource ButtonForegroundBrush}" />
        <Setter Property="BorderBrush" Value="{StaticResource PrimaryBrush}" />
        <Setter Property="BorderThickness" Value="0" />
        <Setter Property="Cursor" Value="Hand" />
        <Setter Property="HorizontalAlignment" Value="Left" />
        <Setter Property="Effect">
            <Setter.Value>
                <DropShadowEffect
                    BlurRadius="6"
                    Opacity="0.18"
                    ShadowDepth="0" />
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Border
                        Padding="{TemplateBinding Padding}"
                        Background="{TemplateBinding Background}"
                        CornerRadius="4">
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <Trigger Property="IsEnabled" Value="False">
                <Setter Property="Background" Value="#B0B0B0" />
                <Setter Property="Foreground" Value="#FFFFFF" />
                <Setter Property="Effect">
                    <Setter.Value>
                        <DropShadowEffect
                            BlurRadius="0"
                            Opacity="0"
                            ShadowDepth="0" />
                    </Setter.Value>
                </Setter>
            </Trigger>
        </Style.Triggers>
    </Style>
 
    <!-- TextBox Style -->
    <Style TargetType="TextBox">
        <Setter Property="BorderBrush" Value="#C0C0C0" />
        <Setter Property="BorderThickness" Value="1" />
        <Setter Property="Padding" Value="6,4" />
        <Setter Property="Background" Value="#FFFFFFFF" />
    </Style>
 
    <!-- ComboBox Style -->
    <Style TargetType="ComboBox">
        <Setter Property="Padding" Value="6,2" />
        <Setter Property="Margin" Value="0" />
    </Style>
 
    <!-- CheckBox Style -->
    <Style TargetType="CheckBox">
        <Setter Property="Margin" Value="0,0,12,0" />
        <Setter Property="VerticalAlignment" Value="Center" />
    </Style>
 
    <!-- ProgressBar Style -->
    <Style TargetType="ProgressBar">
        <Setter Property="Foreground" Value="{StaticResource AccentBrush}" />
        <Setter Property="Height" Value="18" />
        <Setter Property="BorderBrush" Value="#C0C0C0" />
        <Setter Property="BorderThickness" Value="1" />
    </Style>
 
    <!-- ListView Style for Log Entries -->
    <ItemsPanelTemplate x:Key="LogItemsPanel">
        <VirtualizingStackPanel />
    </ItemsPanelTemplate>
    <Style x:Key="LogListViewItemStyle" TargetType="ListViewItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
        <Style.Triggers>
            <DataTrigger Binding="{Binding Level}" Value="Error">
                <Setter Property="Foreground" Value="#D13438" />
            </DataTrigger>
            <DataTrigger Binding="{Binding Level}" Value="Warning">
                <Setter Property="Foreground" Value="#FF8C00" />
            </DataTrigger>
            <DataTrigger Binding="{Binding Level}" Value="Success">
                <Setter Property="Foreground" Value="#107C10" />
            </DataTrigger>
            <DataTrigger Binding="{Binding Level}" Value="Stage">
                <Setter Property="Foreground" Value="#0078D4" />
            </DataTrigger>
            <DataTrigger Binding="{Binding Level}" Value="Debug">
                <Setter Property="Foreground" Value="#6B6B6B" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</ResourceDictionary>