Bläddra i källkod

设计主题切换

Jiangsheng 1 månad sedan
förälder
incheckning
51a9246995

+ 48 - 68
SKMC.UI/Assets/Brushes.xaml

@@ -1,79 +1,59 @@
 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
-    <ResourceDictionary.MergedDictionaries>
-        <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Themes/Dark.xaml"/>
-        <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Assets/Colors.xaml"/>
-    </ResourceDictionary.MergedDictionaries>
-    <SolidColorBrush x:Key="Brush.Background" Color="{StaticResource Color.Background}" />
-    <SolidColorBrush x:Key="Brush.DarkBackground" Color="{StaticResource Color.DarkBackground}" />
-    <SolidColorBrush x:Key="Brush.PreviewBackground" Color="{StaticResource Color.PreviewBackground}" />
-    <SolidColorBrush x:Key="Brush.MachineControls" Color="{StaticResource Color.MachineControls}" />
-    <SolidColorBrush x:Key="Brush.Overlay2Percent" Opacity="0.02" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.Overlay3Percent" Opacity="0.03" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.Overlay5Percent" Opacity="0.05" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.Overlay6Percent" Opacity="0.06" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.Overlay7Percent" Opacity="0.07" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.Overlay8Percent" Opacity="0.08" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.Overlay12Percent" Opacity="0.12" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.Overlay17Percent" Opacity="0.17" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.Overlay24Percent" Opacity="0.24" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.Overlay48Percent" Opacity="0.48" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.DarkOverlay12Percent" Opacity="0.12" Color="{StaticResource Color.DarkOverlay}" />
-    <SolidColorBrush x:Key="Brush.DarkOverlay80Percent" Opacity="0.8" Color="{StaticResource Color.DarkOverlay}" />
-    <SolidColorBrush x:Key="Brush.DarkOverlay50Percent" Opacity="0.5" Color="{StaticResource Color.DarkOverlay}" />
-    <SolidColorBrush x:Key="Brush.Button" Color="{StaticResource Color.Button}" />
-    <SolidColorBrush x:Key="Brush.ButtonPressed" Opacity="0.08" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.ButtonTextInactive" Opacity="0.38" Color="{StaticResource Color.Text}" />
-    <SolidColorBrush x:Key="Brush.ButtonTextDisabled" Opacity="0.30" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.ButtonHover" Opacity="0.2" Color="{DynamicResource Color.Signature}" />
-    <SolidColorBrush x:Key="Brush.PrimaryButton" Color="{DynamicResource Color.Signature}" />
-    <SolidColorBrush x:Key="Brush.PrimaryButtonMouseOver" Opacity="0.24" Color="{DynamicResource Color.Signature}" />
-    <SolidColorBrush x:Key="Brush.PrimaryButtonPressed" Color="{DynamicResource Color.SignatureDark}" />
-    <SolidColorBrush x:Key="Brush.PrimaryButtonDisabled" Opacity="0.5" Color="{StaticResource Color.SignatureDark}" />
-    <SolidColorBrush x:Key="Brush.SecondaryButton" Opacity="0.12" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.SecondaryButtonMouseOver" Opacity="0.24" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.SecondaryButtonPressed" Opacity="0.08" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.SecondaryButtonDisabled" Opacity="0.03" Color="{StaticResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.MachineControls" Color="{DynamicResource Color.MachineControls}" />
+    <SolidColorBrush x:Key="Brush.Overlay2Percent" Opacity="0.02" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.Overlay3Percent" Opacity="0.03" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.Overlay5Percent" Opacity="0.05" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.Overlay6Percent" Opacity="0.06" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.Overlay7Percent" Opacity="0.07" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.Overlay8Percent" Opacity="0.08" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.Overlay12Percent" Opacity="0.12" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.Overlay17Percent" Opacity="0.17" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.Overlay24Percent" Opacity="0.24" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.Overlay48Percent" Opacity="0.5" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.DarkOverlay12Percent" Opacity="0.12" Color="{DynamicResource Color.DarkOverlay}" />
+    <SolidColorBrush x:Key="Brush.DarkOverlay80Percent" Opacity="0.8" Color="{DynamicResource Color.DarkOverlay}" />
+    <SolidColorBrush x:Key="Brush.DarkOverlay50Percent" Opacity="0.5" Color="{DynamicResource Color.DarkOverlay}" />
+
+    <SolidColorBrush x:Key="Brush.SecondaryButton" Opacity="0.12" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.SecondaryButtonMouseOver" Opacity="0.24" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.SecondaryButtonPressed" Opacity="0.08" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.SecondaryButtonDisabled" Opacity="0.03" Color="{DynamicResource Color.Overlay}" />
     <SolidColorBrush x:Key="Brush.TertiaryButton" Color="Transparent" />
-    <SolidColorBrush x:Key="Brush.TertiaryButtonMouseOver" Opacity="0.24" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.TertiaryButtonPressed" Opacity="0.08" Color="{StaticResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.TertiaryButtonMouseOver" Opacity="0.24" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.TertiaryButtonPressed" Opacity="0.08" Color="{DynamicResource Color.Overlay}" />
     <SolidColorBrush x:Key="Brush.TertiaryButtonDisabled" Color="Transparent" />
-    <SolidColorBrush x:Key="Brush.TertiaryButtonBorder" Opacity="0.48" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.TertiaryButtonPressedBorder" Opacity="0.16" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.TertiaryButtonDisabledBorder" Opacity="0.03" Color="{StaticResource Color.Overlay}" />
-    <SolidColorBrush x:Key="Brush.SelectedBorder" Color="{StaticResource Color.SelectedBorder}" />
-    <SolidColorBrush x:Key="Brush.NotSelectedBorder" Color="{StaticResource Color.Border}" />
-    <SolidColorBrush x:Key="Brush.SelectionDisabledBackground" Color="{StaticResource Color.SelectionDisabledBackground}" />
-    <SolidColorBrush x:Key="Brush.SelectionInactiveBorder" Opacity="0.38" Color="{StaticResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.TertiaryButtonBorder" Opacity="0.48" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.TertiaryButtonPressedBorder" Opacity="0.16" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.TertiaryButtonDisabledBorder" Opacity="0.03" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.SelectedBorder" Color="{DynamicResource Color.SelectedBorder}" />
+    <SolidColorBrush x:Key="Brush.NotSelectedBorder" Color="{DynamicResource Color.Border}" />
+    <SolidColorBrush x:Key="Brush.SelectionDisabledBackground" Color="{DynamicResource Color.SelectionDisabledBackground}" />
+    <SolidColorBrush x:Key="Brush.SelectionInactiveBorder" Opacity="0.38" Color="{DynamicResource Color.Overlay}" />
     <SolidColorBrush x:Key="Brush.SelectionSelected" Color="{DynamicResource Color.Signature}" />
     <SolidColorBrush x:Key="Brush.SelectionSelectedBackground" Color="{DynamicResource Color.SignatureLight}" />
-    <SolidColorBrush x:Key="Brush.Text" Color="{StaticResource Color.Text}" />
-    <SolidColorBrush x:Key="Brush.TextContrast" Color="{StaticResource Color.TextContrast}" />
-    <SolidColorBrush x:Key="Brush.TextInactive" Color="{StaticResource Color.TextInactive}" />
-    <SolidColorBrush x:Key="Brush.Label" Color="{StaticResource Color.Label}" />
-    <SolidColorBrush x:Key="Brush.SecondaryFont" Opacity="0.6" Color="{StaticResource Color.Text}" />
+
+    <SolidColorBrush x:Key="Brush.Label" Color="{DynamicResource Color.Label}" />
+    <SolidColorBrush x:Key="Brush.SecondaryFont" Opacity="0.6" Color="{DynamicResource Color.Text}" />
     <SolidColorBrush x:Key="Brush.Annotation" Color="DarkViolet" />
     <SolidColorBrush x:Key="Brush.TextSecondColor" Color="Yellow" />
-    <SolidColorBrush x:Key="Brush.Icon" Color="{StaticResource Color.Icon}" />
-    <SolidColorBrush x:Key="Brush.IconInactive" Color="{StaticResource Color.IconInactive}" />
-    <SolidColorBrush x:Key="Brush.Border" Color="{StaticResource Color.Border}" />
-    <SolidColorBrush x:Key="Brush.DashboardBackground" Color="{StaticResource Color.DashboardBackground}" />
-    <SolidColorBrush x:Key="Brush.RgbRed" Color="{StaticResource Color.Error}" />
-    <SolidColorBrush x:Key="Brush.RgbGreen" Color="{StaticResource Color.RgbGreen}" />
-    <SolidColorBrush x:Key="Brush.RgbBlue" Color="{StaticResource Color.RgbBlue}" />
-    <SolidColorBrush x:Key="Brush.Neutral" Color="{StaticResource Color.Neutral}" />
-    <SolidColorBrush x:Key="Brush.Error" Color="{StaticResource Color.Error}" />
-    <SolidColorBrush x:Key="Brush.ErrorLowOpacity" Opacity="0.1" Color="{StaticResource Color.Error}" />
-    <SolidColorBrush x:Key="Brush.Warning" Color="{StaticResource Color.Warning}" />
-    <SolidColorBrush x:Key="Brush.WarningLowOpacity" Opacity="0.1" Color="{StaticResource Color.Warning}" />
-    <SolidColorBrush x:Key="Brush.Good" Color="{StaticResource Color.Good}" />
-    <SolidColorBrush x:Key="Brush.GoodLowOpacity" Opacity="0.1" Color="{StaticResource Color.Good}" />
-    <SolidColorBrush x:Key="Brush.DebugLog" Color="{StaticResource Color.DebugLog}" />
-    <SolidColorBrush x:Key="Brush.Start" Color="{StaticResource Color.Start}" />
-    <SolidColorBrush x:Key="Brush.Stop" Color="{StaticResource Color.Stop}" />
-    <SolidColorBrush x:Key="Brush.Pause" Color="{StaticResource Color.Pause}" />
-    <SolidColorBrush x:Key="Brush.HomePosition" Color="{StaticResource Color.HomePosition}" />
-    <SolidColorBrush x:Key="Brush.LockDoors" Color="{StaticResource Color.LockDoors}" />
+    
+    <SolidColorBrush x:Key="Brush.RgbRed" Color="{DynamicResource Color.Error}" />
+    <SolidColorBrush x:Key="Brush.RgbGreen" Color="{DynamicResource Color.RgbGreen}" />
+    <SolidColorBrush x:Key="Brush.RgbBlue" Color="{DynamicResource Color.RgbBlue}" />
+    <SolidColorBrush x:Key="Brush.Neutral" Color="{DynamicResource Color.Neutral}" />
+    <SolidColorBrush x:Key="Brush.Error" Color="{DynamicResource Color.Error}" />
+    <SolidColorBrush x:Key="Brush.ErrorLowOpacity" Opacity="0.1" Color="{DynamicResource Color.Error}" />
+    <SolidColorBrush x:Key="Brush.Warning" Color="{DynamicResource Color.Warning}" />
+    <SolidColorBrush x:Key="Brush.WarningLowOpacity" Opacity="0.1" Color="{DynamicResource Color.Warning}" />
+    <SolidColorBrush x:Key="Brush.Good" Color="{DynamicResource Color.Good}" />
+    <SolidColorBrush x:Key="Brush.GoodLowOpacity" Opacity="0.1" Color="{DynamicResource Color.Good}" />
+    <SolidColorBrush x:Key="Brush.DebugLog" Color="{DynamicResource Color.DebugLog}" />
+    <SolidColorBrush x:Key="Brush.Start" Color="{DynamicResource Color.Start}" />
+    <SolidColorBrush x:Key="Brush.Stop" Color="{DynamicResource Color.Stop}" />
+    <SolidColorBrush x:Key="Brush.Pause" Color="{DynamicResource Color.Pause}" />
+    <SolidColorBrush x:Key="Brush.HomePosition" Color="{DynamicResource Color.HomePosition}" />
+    <SolidColorBrush x:Key="Brush.LockDoors" Color="{DynamicResource Color.LockDoors}" />
     <SolidColorBrush x:Key="Brush.Ellipse" Color="LimeGreen" />
     <SolidColorBrush x:Key="Brush.StripeFirstEdge" Color="LimeGreen" />
     <SolidColorBrush x:Key="Brush.StripeSecondFirstEdge" Color="LimeGreen" />

+ 2 - 1
SKMC.UI/FrameWork.xaml

@@ -1,8 +1,8 @@
 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <ResourceDictionary.MergedDictionaries>
-        <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Themes/Dark.xaml"/>
         <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Assets/Colors.xaml"/>
+        <!--<ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Themes/Dark.xaml"/>-->
         <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Assets/Brushes.xaml"/>
         <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Assets/Font.xaml"/>
         <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Assets/Icons.xaml"/>
@@ -15,6 +15,7 @@
         <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Styles/ToggleButton.xaml"/>
         <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Styles/TextBlock.xaml"/>
         <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Styles/DataGrid.xaml"/>
+        <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Styles/Border.xaml"/>
         <!--Styles-->
     </ResourceDictionary.MergedDictionaries>
 </ResourceDictionary>

+ 8 - 4
SKMC.UI/SKMC.UI.csproj

@@ -97,14 +97,18 @@
       <Generator>MSBuild:Compile</Generator>
       <DesignTime>True</DesignTime>
     </Resource>
-    <Resource Include="Themes\Dark.xaml">
+    <Page Include="Styles\Border.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
-    </Resource>
-    <Resource Include="Themes\Light.xaml">
+    </Page>
+    <Page Include="Themes\Dark.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
-    </Resource>
+    </Page>
+    <Page Include="Themes\Light.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
   </ItemGroup>
   <ItemGroup>
     <Page Include="Assets\Storyboards.xaml">

+ 8 - 0
SKMC.UI/Styles/Border.xaml

@@ -0,0 +1,8 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+    <Style x:Key="Border.Base" TargetType="{x:Type Border}">
+        <Setter Property="Background" Value="{DynamicResource Brush.PreviewBackground}"/>
+        <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border}"/>
+        <Setter Property="BorderThickness" Value="0"/>
+    </Style>
+</ResourceDictionary>

+ 5 - 3
SKMC.UI/Styles/Button.xaml

@@ -5,13 +5,14 @@
     <Style x:Key="Button.Base" TargetType="{x:Type Button}">
         <Setter Property="HorizontalContentAlignment" Value="Center"/>
         <Setter Property="VerticalContentAlignment" Value="Center"/>
-        <Setter Property="Width" Value="100"/>
-        <Setter Property="Height" Value="40"/>
+        <Setter Property="Width" Value="160"/>
+        <Setter Property="Height" Value="45"/>
         <Setter Property="BorderThickness" Value="0"/>
         <Setter Property="Foreground" Value="{DynamicResource Brush.Text}"/>
-        <Setter Property="Background" Value="{DynamicResource Brush.Neutral}"/>
+        <Setter Property="Background" Value="{DynamicResource Brush.SignatureAccent}"/>
         <Setter Property="FontSize" Value="{DynamicResource FontSize.Body}"/>
         <Setter Property="Cursor" Value="Hand"/>
+        <Setter Property="Margin" Value="2"/>
     </Style>
     <!--主要按钮-->
     <Style x:Key="Button.Primary" TargetType="{x:Type Button}" BasedOn="{StaticResource Button.Base}">
@@ -73,6 +74,7 @@
     <!--按钮图标带图标-->
     <Style x:Key="Button.WithIcon" TargetType="{x:Type c:SKButton}">
         <Setter Property="IconSize" Value="{DynamicResource FontSize.Headline}"/>
+        <Setter Property="IconFillColor" Value="{DynamicResource Brush.Icon}"/>
         <Setter Property="HorizontalContentAlignment" Value="Center"/>
         <Setter Property="VerticalContentAlignment" Value="Center"/>
         <Setter Property="Foreground" Value="{DynamicResource Brush.Text}"/>

+ 57 - 11
SKMC.UI/Styles/DataGrid.xaml

@@ -1,5 +1,9 @@
 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+    <ResourceDictionary.MergedDictionaries>
+        <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Assets/Brushes.xaml"/>
+        <ResourceDictionary Source="pack://application:,,,/SKMC.UI;component/Styles/ScrollViewer.xaml"/>
+    </ResourceDictionary.MergedDictionaries>
     <!--标题栏样式-->
     <Style x:Key="DataGrid.ColumnHeader" TargetType="{x:Type DataGridColumnHeader}">
         <Setter Property="SnapsToDevicePixels" Value="True" />
@@ -18,14 +22,43 @@
         <Setter Property="Template">
             <Setter.Value>
                 <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
-                    <Border x:Name="BackgroundBorder" 
+                    <Grid>
+                        <Border x:Name="BackgroundBorder" 
                             BorderThickness="{TemplateBinding BorderThickness}" 
                             BorderBrush="{TemplateBinding BorderBrush}"
                             Background="{TemplateBinding Background}">
-                        <ContentPresenter  VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
+                            <ContentPresenter  VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
                                         HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                         Content="{TemplateBinding Content}"/>
-                    </Border>
+                        </Border>
+                        <!-- 拖动手柄 -->
+                        <Thumb x:Name="PART_RightHeaderGripper"
+                               HorizontalAlignment="Right"
+                               VerticalAlignment="Stretch"
+                               Width="4"
+                               Cursor="SizeWE"
+                               Background="Transparent">
+                            <Thumb.Style>
+                                <Style TargetType="{x:Type Thumb}">
+                                    <Setter Property="Background" Value="Transparent"/>
+                                    <Setter Property="Template">
+                                        <Setter.Value>
+                                            <ControlTemplate TargetType="{x:Type Thumb}">
+                                                <Border Background="{TemplateBinding Background}"
+                                                        Margin="0 1 0 1">
+                                                    <!-- 分隔线 -->
+                                                    <Border Background="{DynamicResource Brush.Border}" 
+                                                            Width="1" 
+                                                            HorizontalAlignment="Center"
+                                                            VerticalAlignment="Stretch"/>
+                                                </Border>
+                                            </ControlTemplate>
+                                        </Setter.Value>
+                                    </Setter>
+                                </Style>
+                            </Thumb.Style>
+                        </Thumb>
+                    </Grid>
                 </ControlTemplate>
             </Setter.Value>
         </Setter>
@@ -40,13 +73,13 @@
         <Style.Triggers>
             <!--隔行换色-->
             <Trigger Property="AlternationIndex" Value="0" >
-                <Setter Property="Background" Value="{DynamicResource Brush.PreviewBackground}" />
+                <Setter Property="Background" Value="{DynamicResource Brush.BodyAlternative}" />
             </Trigger>
             <Trigger Property="AlternationIndex" Value="1" >
-                <Setter Property="Background" Value="#343434" />
+                <Setter Property="Background" Value="{DynamicResource Brush.HeaderAlternative}" />
             </Trigger>
             <Trigger Property="IsMouseOver" Value="True">
-                <Setter Property="Background" Value="{DynamicResource Brush.Neutral}"/>
+                <Setter Property="Background" Value="{DynamicResource Brush.Overlay48Percent}"/>
             </Trigger>
         </Style.Triggers>
     </Style>
@@ -92,13 +125,25 @@
                     <RowDefinition Height="Auto"/>
                     <RowDefinition Height="*"/>
                 </Grid.RowDefinitions>
+                <!-- 列标题 -->
                 <DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter"
                                                 Grid.Row="0"
-                                                Visibility="Visible"/>
+                                                Visibility="{TemplateBinding HeadersVisibility, Converter={x:Static DataGrid.HeadersVisibilityConverter}, ConverterParameter={x:Static DataGridHeadersVisibility.Column}}"/>
+                <!-- 内容区域 -->
                 <ScrollViewer Grid.Row="1" 
                               x:Name="PART_ScrollViewer"
+                              Focusable="false"
+                              Padding="{TemplateBinding Padding}"
+                              CanContentScroll="{TemplateBinding ScrollViewer.CanContentScroll}"
+                              HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
+                              VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"
+                              Background="{TemplateBinding Background}"
                               Style="{DynamicResource ScrollViewer.Default}">
-                    <ItemsPresenter/>
+                    <ScrollContentPresenter x:Name="PART_ScrollContentPresenter"
+                                        CanContentScroll="{TemplateBinding ScrollViewer.CanContentScroll}"
+                                        Margin="{TemplateBinding Padding}">
+                        <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
+                    </ScrollContentPresenter>
                 </ScrollViewer>
             </Grid>
         </Border>
@@ -112,17 +157,18 @@
         <Setter Property="VerticalGridLinesBrush" Value="Transparent"/>
         <Setter Property="SnapsToDevicePixels" Value="True"/>
         <Setter Property="RowHeaderWidth" Value="0"/>
-        <Setter Property="AlternatingRowBackground" Value="#343434"/>
+        <Setter Property="AlternatingRowBackground" Value="{DynamicResource Brush.HeaderAlternative}"/>
         <Setter Property="CanUserAddRows" Value="False"/>
         <Setter Property="CanUserDeleteRows" Value="False"/>
-        <Setter Property="CanUserResizeColumns" Value="True"/>
+        <Setter Property="CanUserResizeColumns" Value="False"/>
+        <Setter Property="CanUserReorderColumns" Value="False"/>
         <Setter Property="CanUserResizeRows" Value="False"/>
         <Setter Property="CanUserSortColumns" Value="False"/>
         <Setter Property="AutoGenerateColumns" Value="False"/>
         <Setter Property="ColumnHeaderStyle" Value="{DynamicResource DataGrid.ColumnHeader}"/>
         <Setter Property="RowStyle" Value="{DynamicResource DataGrid.Row}"/>
         <Setter Property="CellStyle" Value="{DynamicResource DataGrid.Cell}"/>
-        <Setter Property="Template" Value="{DynamicResource Template.DataGrid}"/>
+        <!--<Setter Property="Template" Value="{DynamicResource Template.DataGrid}"/>-->
         <Setter Property="SelectionUnit" Value="FullRow"/>
     </Style>
     <!--DataGrid编辑文本框-->

+ 3 - 9
SKMC.UI/Styles/RadioButton.xaml

@@ -43,8 +43,7 @@
                                   Fill="{TemplateBinding IconFillColor}"
                                   StrokeThickness="{TemplateBinding IconStrokeThickness}"
                                   VerticalAlignment="Center" 
-                                  HorizontalAlignment="Right" 
-                                  Margin="0 0 3 0"/>
+                                  HorizontalAlignment="Center"/>
                             <!-- Text -->
                             <TextBlock x:Name="txtName" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="5 0 0 0"
                                        Grid.Column="1" Text="{TemplateBinding Content}" 
@@ -58,16 +57,11 @@
                             <Setter TargetName="txtName" Property="Foreground" Value="{DynamicResource Brush.ChartLine.5}"/>
                             <Setter TargetName="Icon" Property="Fill" Value="{DynamicResource Brush.ButtonHover}"/>
                             <Setter TargetName="Icon" Property="Stroke" Value="{DynamicResource Brush.ButtonHover}"/>
-                            <!-- Optional 
-                        <Setter TargetName="Indicator" Property="Fill" Value="red"/>
-                        <Setter TargetName="Indicator" Property="Height" Value="20"/>-->
                         </Trigger>
                         <Trigger Property="IsChecked" Value="True">
                             <Setter TargetName="Icon" Property="Fill" Value="{DynamicResource Brush.SelectionSelected}"/>
                             <Setter TargetName="Icon" Property="Stroke" Value="{DynamicResource Brush.SelectionSelected}"/>
-                            <!--<Setter TargetName="Indicator" Property="Fill" Value="{DynamicResource Brush.Overlay3Percent}"/>
-                            <Setter TargetName="Indicator" Property="Height" Value="20"/>-->
-                            <Setter TargetName="btnSelected" Property="Background" Value="#3A3A3A"/>
+                            <Setter TargetName="btnSelected" Property="Background" Value="{DynamicResource Brush.DashboardBackground}"/>
                             <Setter TargetName="txtName" Property="Foreground" Value="{DynamicResource Brush.SelectionSelected}"/>
                         </Trigger>
                     </ControlTemplate.Triggers>
@@ -139,7 +133,7 @@
                         </Trigger>
                         <Trigger Property="IsChecked" Value="True">
                             <Setter TargetName="txtName" Property="Foreground" Value="{DynamicResource Brush.SelectionSelected}"/>
-                            <Setter TargetName="menuButton" Property="Background" Value="#3A3A3A"/>
+                            <Setter TargetName="menuButton" Property="Background" Value="{DynamicResource Brush.DashboardBackground}"/>
                         </Trigger>
                     </ControlTemplate.Triggers>
                 </ControlTemplate>

+ 29 - 1
SKMC.UI/Themes/Dark.xaml

@@ -3,9 +3,10 @@
     <Color x:Key="Color.Background">#1E1E1E</Color>
     <Color x:Key="Color.DarkBackground">#161616</Color>
     <Color x:Key="Color.MachineControls">#121212</Color>
-    <Color x:Key="Color.Overlay">#FFFFFF</Color>
+    <Color x:Key="Color.Overlay">#FCF3EC</Color>
     <Color x:Key="Color.DarkOverlay">#000000</Color>
     <Color x:Key="Color.HeaderAlternative">#2D2D2D</Color>
+    <Color x:Key="Color.BodyAlternative">#3C3C3C</Color>
     <Color x:Key="Color.Button">#FFFFFF</Color>
     <Color x:Key="Color.Text">#FFFFFF</Color>
     <Color x:Key="Color.TextContrast">#292929</Color>
@@ -19,6 +20,33 @@
     <Color x:Key="Color.SelectedBorder">#FFFFFF</Color>
     <Color x:Key="Color.SelectionDisabledBackground">#333333</Color>
 
+    <SolidColorBrush x:Key="Brush.Background" Color="{DynamicResource Color.Background}" />
+    <SolidColorBrush x:Key="Brush.DarkBackground" Color="{DynamicResource Color.DarkBackground}" />
+    <SolidColorBrush x:Key="Brush.PreviewBackground" Color="{DynamicResource Color.PreviewBackground}" />
+
+    <SolidColorBrush x:Key="Brush.Button" Color="{DynamicResource Color.Button}" />
+    <SolidColorBrush x:Key="Brush.ButtonPressed" Opacity="0.08" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.ButtonTextInactive" Opacity="0.38" Color="{DynamicResource Color.Text}" />
+    <SolidColorBrush x:Key="Brush.ButtonTextDisabled" Opacity="0.30" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.ButtonHover" Opacity="0.2" Color="{DynamicResource Color.Signature}" />
+
+    <SolidColorBrush x:Key="Brush.PrimaryButton" Color="{DynamicResource Color.Signature}" />
+    <SolidColorBrush x:Key="Brush.PrimaryButtonMouseOver" Opacity="0.24" Color="{DynamicResource Color.Signature}" />
+    <SolidColorBrush x:Key="Brush.PrimaryButtonPressed" Color="{DynamicResource Color.SignatureDark}" />
+    <SolidColorBrush x:Key="Brush.PrimaryButtonDisabled" Opacity="0.5" Color="{DynamicResource Color.SignatureDark}" />
+
+    <SolidColorBrush x:Key="Brush.Text" Color="{DynamicResource Color.Text}" />
+    <SolidColorBrush x:Key="Brush.TextContrast" Color="{DynamicResource Color.TextContrast}" />
+    <SolidColorBrush x:Key="Brush.TextInactive" Color="{DynamicResource Color.TextInactive}" />
+
+    <SolidColorBrush x:Key="Brush.Icon" Color="{DynamicResource Color.Icon}" />
+    <SolidColorBrush x:Key="Brush.IconInactive" Color="{DynamicResource Color.IconInactive}" />
+    <SolidColorBrush x:Key="Brush.Border" Color="{DynamicResource Color.Border}" />
+
+    <SolidColorBrush x:Key="Brush.DashboardBackground" Color="{DynamicResource Color.DashboardBackground}" />
+    <SolidColorBrush x:Key="Brush.HeaderAlternative" Color="{DynamicResource Color.HeaderAlternative}"/>
+    <SolidColorBrush x:Key="Brush.BodyAlternative" Color="{DynamicResource Color.BodyAlternative}"/>
+    
     <Color x:Key="Color.Signature">#00AFAF</Color>
     <Color x:Key="Color.SignatureLight">#CCEAEC</Color>
     <Color x:Key="Color.SignatureDark">#006D75</Color>

+ 38 - 5
SKMC.UI/Themes/Light.xaml

@@ -1,17 +1,18 @@
 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <!-- 浅色主题颜色定义 -->
-    <Color x:Key="Color.Background">#F5F5F5</Color>
-    <Color x:Key="Color.DarkBackground">#E8E8E8</Color>
+    <Color x:Key="Color.Background">#FFFFFF</Color>
+    <Color x:Key="Color.DarkBackground">#E8F1FA</Color>
     <Color x:Key="Color.MachineControls">#DCDCDC</Color>
-    <Color x:Key="Color.Overlay">#000000</Color>
+    <Color x:Key="Color.Overlay">#FCF3EC</Color>
     <Color x:Key="Color.DarkOverlay">#FFFFFF</Color>
-    <Color x:Key="Color.HeaderAlternative">#D2D2D2</Color>
+    <Color x:Key="Color.HeaderAlternative">#FCE4D2</Color>
+    <Color x:Key="Color.BodyAlternative">#FFFBF0</Color>
     <Color x:Key="Color.Button">#333333</Color>
     <Color x:Key="Color.Text">#1A1A1A</Color>
     <Color x:Key="Color.TextContrast">#F5F5F5</Color>
     <Color x:Key="Color.TextInactive">#666666</Color>
-    <Color x:Key="Color.PreviewBackGround">#CCCCCC</Color>
+    <Color x:Key="Color.PreviewBackground">#FFFFFF</Color>
     <Color x:Key="Color.Label">#7A7A7A</Color>
     <Color x:Key="Color.Icon">#1A1A1A</Color>
     <Color x:Key="Color.IconInactive">#666666</Color>
@@ -24,4 +25,36 @@
     <Color x:Key="Color.SignatureLight">#CCEAEC</Color>
     <Color x:Key="Color.SignatureDark">#006D75</Color>
     <Color x:Key="Color.SignatureAccent">#00929D</Color>
+
+    <SolidColorBrush x:Key="Brush.Background" Color="{DynamicResource Color.Background}" />
+    <SolidColorBrush x:Key="Brush.DarkBackground" Color="{DynamicResource Color.DarkBackground}" />
+    <SolidColorBrush x:Key="Brush.PreviewBackground" Color="{DynamicResource Color.PreviewBackground}" />
+
+    <SolidColorBrush x:Key="Brush.Button" Color="{DynamicResource Color.Button}" />
+    <SolidColorBrush x:Key="Brush.ButtonPressed" Opacity="0.08" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.ButtonTextInactive" Opacity="0.38" Color="{DynamicResource Color.Text}" />
+    <SolidColorBrush x:Key="Brush.ButtonTextDisabled" Opacity="0.30" Color="{DynamicResource Color.Overlay}" />
+    <SolidColorBrush x:Key="Brush.ButtonHover" Opacity="0.2" Color="{DynamicResource Color.Signature}" />
+
+    <SolidColorBrush x:Key="Brush.PrimaryButton" Color="{DynamicResource Color.Signature}" />
+    <SolidColorBrush x:Key="Brush.PrimaryButtonMouseOver" Opacity="0.24" Color="{DynamicResource Color.Signature}" />
+    <SolidColorBrush x:Key="Brush.PrimaryButtonPressed" Color="{DynamicResource Color.SignatureDark}" />
+    <SolidColorBrush x:Key="Brush.PrimaryButtonDisabled" Opacity="0.5" Color="{DynamicResource Color.SignatureDark}" />
+
+    <SolidColorBrush x:Key="Brush.Text" Color="{DynamicResource Color.Text}" />
+    <SolidColorBrush x:Key="Brush.TextContrast" Color="{DynamicResource Color.TextContrast}" />
+    <SolidColorBrush x:Key="Brush.TextInactive" Color="{DynamicResource Color.TextInactive}" />
+
+    <SolidColorBrush x:Key="Brush.Icon" Color="{DynamicResource Color.Icon}" />
+    <SolidColorBrush x:Key="Brush.IconInactive" Color="{DynamicResource Color.IconInactive}" />
+    <SolidColorBrush x:Key="Brush.Border" Color="{DynamicResource Color.Border}" />
+
+    <SolidColorBrush x:Key="Brush.DashboardBackground" Color="{DynamicResource Color.DashboardBackground}" />
+    <SolidColorBrush x:Key="Brush.HeaderAlternative" Opacity="0.5" Color="{DynamicResource Color.HeaderAlternative}"/>
+    <SolidColorBrush x:Key="Brush.BodyAlternative" Color="{DynamicResource Color.BodyAlternative}"/>
+
+    <SolidColorBrush x:Key="Brush.Signature" Color="{DynamicResource Color.Signature}" />
+    <SolidColorBrush x:Key="Brush.SignatureLight" Color="{DynamicResource Color.SignatureLight}" />
+    <SolidColorBrush x:Key="Brush.SignatureDark" Color="{DynamicResource Color.SignatureDark}" />
+    <SolidColorBrush x:Key="Brush.SignatureAccent" Color="{DynamicResource Color.SignatureAccent}" />
 </ResourceDictionary>