Shunnet há 2 anos atrás
pai
commit
56c2949ca9

+ 4 - 0
src/YSAI.DAQ/YSAI.Window/Themes/Property/Black.xaml

@@ -162,12 +162,16 @@
 
     <!--鼠标在按钮上方时背景颜色-->
     <Color x:Key="CaptionButtonBackgroundBrushBase">#9b9b9b</Color>
+    <SolidColorBrush x:Key="CaptionButtonBackgroundBrush" Color="{StaticResource CaptionButtonBackgroundBrushBase}"/>
     <!--鼠标在按钮上方按下时背景颜色-->
     <Color x:Key="CaptionButtonPressBackgroundBrushBase">#696969</Color>
+    <SolidColorBrush x:Key="CaptionButtonPressBackgroundBrush" Color="{StaticResource CaptionButtonPressBackgroundBrushBase}"/>
     <!--鼠标在【关闭】按钮上方时背景颜色-->
     <Color x:Key="CloseCaptionButtonBackgroundBrushBase">#B38B8B</Color>
+    <SolidColorBrush x:Key="CloseCaptionButtonBackgroundBrush" Color="{StaticResource CloseCaptionButtonBackgroundBrushBase}"/>
     <!--鼠标在【关闭】按钮上方按下时背景颜色-->
     <Color x:Key="CloseCaptionButtonPressedBackgroundBrushBase">#B01E2A</Color>
+    <SolidColorBrush x:Key="CloseCaptionButtonPressedBackgroundBrush" Color="{StaticResource CloseCaptionButtonPressedBackgroundBrushBase}"/>
 
     <!--标题字体颜色-->
     <SolidColorBrush x:Key="TitleForeground" Color="White"/>

+ 5 - 0
src/YSAI.DAQ/YSAI.Window/Themes/Property/Blue.xaml

@@ -162,12 +162,17 @@
 
     <!--鼠标在按钮上方时背景颜色-->
     <Color x:Key="CaptionButtonBackgroundBrushBase">#6bb0e7</Color>
+    <SolidColorBrush x:Key="CaptionButtonBackgroundBrush" Color="{StaticResource CaptionButtonBackgroundBrushBase}"/>
     <!--鼠标在按钮上方按下时背景颜色-->
     <Color x:Key="CaptionButtonPressBackgroundBrushBase">#2898d9</Color>
+    <SolidColorBrush x:Key="CaptionButtonPressBackgroundBrush" Color="{StaticResource CaptionButtonPressBackgroundBrushBase}"/>
     <!--鼠标在【关闭】按钮上方时背景颜色-->
     <Color x:Key="CloseCaptionButtonBackgroundBrushBase">#B38B8B</Color>
+    <SolidColorBrush x:Key="CloseCaptionButtonBackgroundBrush" Color="{StaticResource CloseCaptionButtonBackgroundBrushBase}"/>
     <!--鼠标在【关闭】按钮上方按下时背景颜色-->
     <Color x:Key="CloseCaptionButtonPressedBackgroundBrushBase">#B01E2A</Color>
+    <SolidColorBrush x:Key="CloseCaptionButtonPressedBackgroundBrush" Color="{StaticResource CloseCaptionButtonPressedBackgroundBrushBase}"/>
+
 
     <!--标题字体颜色-->
     <SolidColorBrush x:Key="TitleForeground" Color="White"/>

+ 5 - 0
src/YSAI.DAQ/YSAI.Window/Themes/Property/Cyan.xaml

@@ -162,12 +162,17 @@
 
     <!--鼠标在按钮上方时背景颜色-->
     <Color x:Key="CaptionButtonBackgroundBrushBase">#5ebcb4</Color>
+    <SolidColorBrush x:Key="CaptionButtonBackgroundBrush" Color="{StaticResource CaptionButtonBackgroundBrushBase}"/>
     <!--鼠标在按钮上方按下时背景颜色-->
     <Color x:Key="CaptionButtonPressBackgroundBrushBase">#00a99f</Color>
+    <SolidColorBrush x:Key="CaptionButtonPressBackgroundBrush" Color="{StaticResource CaptionButtonPressBackgroundBrushBase}"/>
     <!--鼠标在【关闭】按钮上方时背景颜色-->
     <Color x:Key="CloseCaptionButtonBackgroundBrushBase">#B38B8B</Color>
+    <SolidColorBrush x:Key="CloseCaptionButtonBackgroundBrush" Color="{StaticResource CloseCaptionButtonBackgroundBrushBase}"/>
     <!--鼠标在【关闭】按钮上方按下时背景颜色-->
     <Color x:Key="CloseCaptionButtonPressedBackgroundBrushBase">#B01E2A</Color>
+    <SolidColorBrush x:Key="CloseCaptionButtonPressedBackgroundBrush" Color="{StaticResource CloseCaptionButtonPressedBackgroundBrushBase}"/>
+
 
     <!--标题字体颜色-->
     <SolidColorBrush x:Key="TitleForeground"  Color="White"/>

+ 5 - 0
src/YSAI.DAQ/YSAI.Window/Themes/Property/White.xaml

@@ -162,12 +162,17 @@
 
     <!--鼠标在按钮上方时背景颜色-->
     <Color x:Key="CaptionButtonBackgroundBrushBase">#f6f6f6</Color>
+    <SolidColorBrush x:Key="CaptionButtonBackgroundBrush" Color="{StaticResource CaptionButtonBackgroundBrushBase}"/>
     <!--鼠标在按钮上方按下时背景颜色-->
     <Color x:Key="CaptionButtonPressBackgroundBrushBase">#fcfcfc</Color>
+    <SolidColorBrush x:Key="CaptionButtonPressBackgroundBrush" Color="{StaticResource CaptionButtonPressBackgroundBrushBase}"/>
     <!--鼠标在【关闭】按钮上方时背景颜色-->
     <Color x:Key="CloseCaptionButtonBackgroundBrushBase">#B38B8B</Color>
+    <SolidColorBrush x:Key="CloseCaptionButtonBackgroundBrush" Color="{StaticResource CloseCaptionButtonBackgroundBrushBase}"/>
     <!--鼠标在【关闭】按钮上方按下时背景颜色-->
     <Color x:Key="CloseCaptionButtonPressedBackgroundBrushBase">#B01E2A</Color>
+    <SolidColorBrush x:Key="CloseCaptionButtonPressedBackgroundBrush" Color="{StaticResource CloseCaptionButtonPressedBackgroundBrushBase}"/>
+
 
     <!--标题字体颜色-->
     <SolidColorBrush x:Key="TitleForeground" Color="#383838"/>

+ 166 - 243
src/YSAI.DAQ/YSAI.Window/Themes/Style/ButtonStyle.xaml

@@ -13,14 +13,7 @@
                         </GradientStopCollection>
                     </LinearGradientBrush.GradientStops>
                 </LinearGradientBrush>
-
             </Border.BorderBrush>
-            <Border.Background>
-                <LinearGradientBrush EndPoint="0,0" StartPoint="0,0">
-                    <GradientStop Color="{DynamicResource ControlLightColor}" Offset="0" />
-                    <GradientStop Color="{DynamicResource ControlMediumColor}" Offset="1" />
-                </LinearGradientBrush>
-            </Border.Background>
             <VisualStateManager.VisualStateGroups>
                 <VisualStateGroup x:Name="CommonStates">
                     <VisualStateGroup.Transitions>
@@ -46,7 +39,7 @@
                     </Setter.Value>
                 </Setter>
             </Trigger>
-            <!--多条件触发-->
+            <!--没有被按下,并且鼠标还在上方-->
             <MultiTrigger>
                 <MultiTrigger.Conditions>
                     <!--被按下-->
@@ -55,9 +48,35 @@
                     <Condition Property="IsMouseOver" Value="True"/>
                 </MultiTrigger.Conditions>
                 <Setter Property="Opacity" TargetName="Border" Value="0.8"/>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CaptionButtonBackgroundBrush}"/>
+            </MultiTrigger>
+
+
+            <!--被按下,并且鼠标还在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="True"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="True"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CaptionButtonPressBackgroundBrush}"/>
+            </MultiTrigger>
+
+
+            <!--没有被按下,鼠标也不在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="False"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="False"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="Background" TargetName="Border" Value="Transparent"/>
             </MultiTrigger>
         </ControlTemplate.Triggers>
     </ControlTemplate>
+    
     <!--皮肤按钮-->
     <ControlTemplate x:Key="SkinCaptionButtonStyle" TargetType="{x:Type Button}">
         <Border TextBlock.Foreground="{TemplateBinding Foreground}" x:Name="Border" CornerRadius="0" BorderThickness="0">
@@ -70,14 +89,7 @@
                         </GradientStopCollection>
                     </LinearGradientBrush.GradientStops>
                 </LinearGradientBrush>
-
             </Border.BorderBrush>
-            <Border.Background>
-                <LinearGradientBrush EndPoint="0,0" StartPoint="0,0">
-                    <GradientStop Color="{DynamicResource ControlLightColor}" Offset="0" />
-                    <GradientStop Color="{DynamicResource ControlMediumColor}" Offset="1" />
-                </LinearGradientBrush>
-            </Border.Background>
             <VisualStateManager.VisualStateGroups>
                 <VisualStateGroup x:Name="CommonStates">
                     <VisualStateGroup.Transitions>
@@ -103,7 +115,7 @@
                     </Setter.Value>
                 </Setter>
             </Trigger>
-            <!--多条件触发-->
+            <!--没有被按下,并且鼠标还在上方-->
             <MultiTrigger>
                 <MultiTrigger.Conditions>
                     <!--被按下-->
@@ -112,6 +124,31 @@
                     <Condition Property="IsMouseOver" Value="True"/>
                 </MultiTrigger.Conditions>
                 <Setter Property="Opacity" TargetName="Border" Value="0.8"/>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CaptionButtonBackgroundBrush}"/>
+            </MultiTrigger>
+
+
+            <!--被按下,并且鼠标还在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="True"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="True"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CaptionButtonPressBackgroundBrush}"/>
+            </MultiTrigger>
+
+
+            <!--没有被按下,鼠标也不在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="False"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="False"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="Background" TargetName="Border" Value="Transparent"/>
             </MultiTrigger>
         </ControlTemplate.Triggers>
     </ControlTemplate>
@@ -130,60 +167,7 @@
                 </LinearGradientBrush>
 
             </Border.BorderBrush>
-            <Border.Background>
-                <LinearGradientBrush EndPoint="0,0" StartPoint="0,0">
-                    <GradientStop Color="{DynamicResource ControlLightColor}" Offset="0" />
-                    <GradientStop Color="{DynamicResource ControlMediumColor}" Offset="1" />
-                </LinearGradientBrush>
-            </Border.Background>
-            <VisualStateManager.VisualStateGroups>
-                <VisualStateGroup x:Name="CommonStates">
-                    <VisualStateGroup.Transitions>
-                        <VisualTransition GeneratedDuration="0:0:0.1" />
-                        <VisualTransition GeneratedDuration="0" To="Pressed" />
-                    </VisualStateGroup.Transitions>
-                    <VisualState x:Name="Normal" />
-                    <VisualState x:Name="MouseOver">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonBackgroundBrushBase}"/>
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                    <VisualState x:Name="Pressed">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonPressBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonPressBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonPressBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                    <VisualState x:Name="Disabled">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                </VisualStateGroup>
-            </VisualStateManager.VisualStateGroups>
+            
             <ContentPresenter Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True" />
         </Border>
         <ControlTemplate.Triggers>
@@ -201,7 +185,7 @@
                     </Setter.Value>
                 </Setter>
             </Trigger>
-            <!--多条件触发-->
+            <!--没有被按下,并且鼠标还在上方-->
             <MultiTrigger>
                 <MultiTrigger.Conditions>
                     <!--被按下-->
@@ -210,6 +194,31 @@
                     <Condition Property="IsMouseOver" Value="True"/>
                 </MultiTrigger.Conditions>
                 <Setter Property="Opacity" TargetName="Border" Value="0.8"/>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CaptionButtonBackgroundBrush}"/>
+            </MultiTrigger>
+
+
+            <!--被按下,并且鼠标还在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="True"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="True"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CaptionButtonPressBackgroundBrush}"/>
+            </MultiTrigger>
+
+
+            <!--没有被按下,鼠标也不在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="False"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="False"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="Background" TargetName="Border" Value="Transparent"/>
             </MultiTrigger>
         </ControlTemplate.Triggers>
     </ControlTemplate>
@@ -228,60 +237,7 @@
                 </LinearGradientBrush>
 
             </Border.BorderBrush>
-            <Border.Background>
-                <LinearGradientBrush EndPoint="0,0" StartPoint="0,0">
-                    <GradientStop Color="{DynamicResource ControlLightColor}" Offset="0" />
-                    <GradientStop Color="{DynamicResource ControlMediumColor}" Offset="1" />
-                </LinearGradientBrush>
-            </Border.Background>
-            <VisualStateManager.VisualStateGroups>
-                <VisualStateGroup x:Name="CommonStates">
-                    <VisualStateGroup.Transitions>
-                        <VisualTransition GeneratedDuration="0:0:0.1" />
-                        <VisualTransition GeneratedDuration="0" To="Pressed" />
-                    </VisualStateGroup.Transitions>
-                    <VisualState x:Name="Normal" />
-                    <VisualState x:Name="MouseOver">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonBackgroundBrushBase}"/>
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                    <VisualState x:Name="Pressed">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonPressBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonPressBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonPressBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                    <VisualState x:Name="Disabled">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                </VisualStateGroup>
-            </VisualStateManager.VisualStateGroups>
+           
             <ContentPresenter Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True" />
         </Border>
         <ControlTemplate.Triggers>
@@ -299,7 +255,7 @@
                     </Setter.Value>
                 </Setter>
             </Trigger>
-            <!--多条件触发-->
+            <!--没有被按下,并且鼠标还在上方-->
             <MultiTrigger>
                 <MultiTrigger.Conditions>
                     <!--被按下-->
@@ -308,6 +264,31 @@
                     <Condition Property="IsMouseOver" Value="True"/>
                 </MultiTrigger.Conditions>
                 <Setter Property="Opacity" TargetName="Border" Value="0.8"/>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CaptionButtonBackgroundBrush}"/>
+            </MultiTrigger>
+
+
+            <!--被按下,并且鼠标还在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="True"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="True"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CaptionButtonPressBackgroundBrush}"/>
+            </MultiTrigger>
+
+
+            <!--没有被按下,鼠标也不在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="False"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="False"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="Background" TargetName="Border" Value="Transparent"/>
             </MultiTrigger>
         </ControlTemplate.Triggers>
     </ControlTemplate>
@@ -326,60 +307,7 @@
                 </LinearGradientBrush>
 
             </Border.BorderBrush>
-            <Border.Background>
-                <LinearGradientBrush EndPoint="0,0" StartPoint="0,0">
-                    <GradientStop Color="{DynamicResource ControlLightColor}" Offset="0" />
-                    <GradientStop Color="{DynamicResource ControlMediumColor}" Offset="1" />
-                </LinearGradientBrush>
-            </Border.Background>
-            <VisualStateManager.VisualStateGroups>
-                <VisualStateGroup x:Name="CommonStates">
-                    <VisualStateGroup.Transitions>
-                        <VisualTransition GeneratedDuration="0:0:0.1" />
-                        <VisualTransition GeneratedDuration="0" To="Pressed" />
-                    </VisualStateGroup.Transitions>
-                    <VisualState x:Name="Normal" />
-                    <VisualState x:Name="MouseOver">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonBackgroundBrushBase}"/>
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                    <VisualState x:Name="Pressed">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonPressBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonPressBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CaptionButtonPressBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                    <VisualState x:Name="Disabled">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                </VisualStateGroup>
-            </VisualStateManager.VisualStateGroups>
+           
             <ContentPresenter Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True" />
         </Border>
         <ControlTemplate.Triggers>
@@ -397,7 +325,7 @@
                     </Setter.Value>
                 </Setter>
             </Trigger>
-            <!--多条件触发-->
+            <!--没有被按下,并且鼠标还在上方-->
             <MultiTrigger>
                 <MultiTrigger.Conditions>
                     <!--被按下-->
@@ -406,6 +334,31 @@
                     <Condition Property="IsMouseOver" Value="True"/>
                 </MultiTrigger.Conditions>
                 <Setter Property="Opacity" TargetName="Border" Value="0.8"/>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CaptionButtonBackgroundBrush}"/>
+            </MultiTrigger>
+
+
+            <!--被按下,并且鼠标还在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="True"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="True"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CaptionButtonPressBackgroundBrush}"/>
+            </MultiTrigger>
+
+
+            <!--没有被按下,鼠标也不在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="False"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="False"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="Background" TargetName="Border" Value="Transparent"/>
             </MultiTrigger>
         </ControlTemplate.Triggers>
     </ControlTemplate>
@@ -423,61 +376,7 @@
                     </LinearGradientBrush.GradientStops>
                 </LinearGradientBrush>
             </Border.BorderBrush>
-            <Border.Background>
-                <LinearGradientBrush EndPoint="0,0" StartPoint="0,0">
-                    <GradientStop Color="{DynamicResource ControlLightColor}" Offset="0" />
-                    <GradientStop Color="{DynamicResource ControlMediumColor}" Offset="1" />
-                </LinearGradientBrush>
-            </Border.Background>
-            <VisualStateManager.VisualStateGroups>
-                <VisualStateGroup x:Name="CommonStates">
-                    <VisualStateGroup.Transitions>
-                        <VisualTransition GeneratedDuration="0:0:0.1" />
-                        <VisualTransition GeneratedDuration="0" To="Pressed" />
-                    </VisualStateGroup.Transitions>
-                    <VisualState x:Name="Normal" />
-                    <VisualState x:Name="MouseOver">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CloseCaptionButtonBackgroundBrushBase}"/>
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CloseCaptionButtonBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CloseCaptionButtonBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                    <VisualState x:Name="Pressed">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CloseCaptionButtonPressedBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CloseCaptionButtonPressedBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="{DynamicResource CloseCaptionButtonPressedBackgroundBrushBase}" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                    <VisualState x:Name="Disabled">
-                        <Storyboard>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                            <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="Border">
-                                <EasingColorKeyFrame KeyTime="0" Value="Transparent" />
-                            </ColorAnimationUsingKeyFrames>
-                        </Storyboard>
-                    </VisualState>
-                </VisualStateGroup>
-            </VisualStateManager.VisualStateGroups>
-            <ContentPresenter Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True" />
+            <ContentPresenter Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True"/>
         </Border>
         <ControlTemplate.Triggers>
             <Trigger Property="IsDefault" Value="true">
@@ -495,11 +394,7 @@
                 </Setter>
             </Trigger>
 
-            <!--被按下-->
-            <Trigger Property="IsPressed" Value="True">
-                <Setter Property="CornerRadius" TargetName="Border" Value="{DynamicResource CloseCornerRadius}"/>
-            </Trigger>
-            <!--多条件触发-->
+            <!--没有被按下,并且鼠标还在上方-->
             <MultiTrigger>
                 <MultiTrigger.Conditions>
                     <!--被按下-->
@@ -509,10 +404,38 @@
                 </MultiTrigger.Conditions>
                 <Setter Property="CornerRadius" TargetName="Border" Value="{DynamicResource CloseCornerRadius}"/>
                 <Setter Property="Opacity" TargetName="Border" Value="0.8"/>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CloseCaptionButtonBackgroundBrush}"/>
             </MultiTrigger>
-            <Trigger Property="IsMouseOver" Value="False">
+
+
+            <!--被按下,并且鼠标还在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="True"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="True"/>
+                </MultiTrigger.Conditions>
                 <Setter Property="CornerRadius" TargetName="Border" Value="{DynamicResource CloseCornerRadius}"/>
-            </Trigger>
+                <Setter Property="Background" TargetName="Border" Value="{DynamicResource CloseCaptionButtonPressedBackgroundBrush}"/>
+            </MultiTrigger>
+            
+
+            <!--没有被按下,鼠标也不在上方-->
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <!--被按下-->
+                    <Condition Property="IsPressed" Value="False"/>
+                    <!--鼠标在上方-->
+                    <Condition Property="IsMouseOver" Value="False"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="CornerRadius" TargetName="Border" Value="{DynamicResource CloseCornerRadius}"/>
+                <Setter Property="Background" TargetName="Border" Value="Transparent"/>
+            </MultiTrigger>
+
+
+           
         </ControlTemplate.Triggers>
     </ControlTemplate>
+    
 </ResourceDictionary>

+ 3 - 3
src/YSAI.DAQ/YSAI.Window/Themes/Style/WindowStyle.xaml

@@ -52,13 +52,13 @@
                                     <!--标题-->
                                     <Label Name="CaptionText" Grid.Column="1"  Content="{Binding Path=Title, RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="Center" HorizontalAlignment="{DynamicResource TitleHorizontalAlignment}"  Foreground="{DynamicResource TitleForeground}" FontWeight="{DynamicResource TitleFontWeight}" FontSize="{DynamicResource TitleFontSize}" />
                                     <!--语言-->
-                                    <Button  Grid.Column="2"  BorderThickness="0"  BorderBrush="Red" Template="{DynamicResource LanguageCaptionButtonStyle}" Width="30" Name="PART_LanguageButton" WindowChrome.IsHitTestVisibleInChrome="True">
+                                    <Button  Grid.Column="2" Template="{DynamicResource LanguageCaptionButtonStyle}" Name="PART_LanguageButton" Height="auto" Width="40" WindowChrome.IsHitTestVisibleInChrome="True">
                                         <StackPanel Orientation="Horizontal">
                                             <Image  Source="{DynamicResource Language}" Width="{DynamicResource LanguageImageWidth}" Stretch="Uniform"/>
                                         </StackPanel>
                                     </Button>
                                     <!--皮肤-->
-                                    <Button  Grid.Column="3" Template="{DynamicResource SkinCaptionButtonStyle}" Width="30" Height="auto" Name="PART_SkinButton" WindowChrome.IsHitTestVisibleInChrome="True">
+                                    <Button  Grid.Column="3" Template="{DynamicResource SkinCaptionButtonStyle}" Name="PART_SkinButton" Height="auto" Width="40" WindowChrome.IsHitTestVisibleInChrome="True">
                                         <StackPanel Orientation="Horizontal">
                                             <Image  Source="{DynamicResource Skin}" Width="{DynamicResource SkinImageWidth}" Stretch="Uniform" />
                                         </StackPanel>
@@ -82,7 +82,7 @@
                                         </StackPanel>
                                     </Button>
                                     <!--关闭-->
-                                    <Button  Grid.Column="6" Background="{x:Null}" Template="{DynamicResource CloseCaptionButtonStyle}" Name="PART_CloseButton"  Height="auto" Width="40" WindowChrome.IsHitTestVisibleInChrome="True">
+                                    <Button  Grid.Column="6" Template="{DynamicResource CloseCaptionButtonStyle}" Name="PART_CloseButton"  Height="auto" Width="40" WindowChrome.IsHitTestVisibleInChrome="True">
                                         <StackPanel Orientation="Horizontal">
                                             <Image  Source="{DynamicResource Close}" Width="{DynamicResource CloseImageWidth}" Stretch="Uniform"/>
                                         </StackPanel>