فهرست منبع

:recycle: 优化动画及部分样式

liufei 3 سال پیش
والد
کامیت
6e58afcdea

+ 6 - 1
Control/UserControls/Config/AboutControl.xaml

@@ -4,6 +4,7 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:cvt="clr-namespace:GeekDesk.Converts"
+             xmlns:xf="clr-namespace:XamlFlair;assembly=XamlFlair.WPF"
              xmlns:local="clr-namespace:GeekDesk.Control.UserControls.PannelCard"
              xmlns:hc="https://handyorg.github.io/handycontrol"
              mc:Ignorable="d" 
@@ -16,7 +17,11 @@
     <Grid MouseDown="DragMove">
         <hc:SimplePanel Margin="20,50,20,20" >
             <StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Top">
-                <Image Source="/Resource/Image/About.png" Width="400" Height="100"/>
+                <Image Source="/Resource/Image/About.png"
+                       Width="400"
+                       Height="100"
+                       xf:Animations.Primary="{xf:Animate BasedOn={StaticResource FadeInAndContract}, Delay=250}"
+                       />
                 <TextBlock x:Name="AppInfo"  TextAlignment="Center"  Text="Copyright ©  2021 GeekDesk V"/>
                 <hc:UniformSpacingPanel Spacing="5" HorizontalAlignment="Center" Margin="10,10,0,0" VerticalAlignment="Center">
                     <hc:Shield Subject=".net" Status=">=4.72" Margin="0,0,10,0" Color="#1182c3"/>

+ 1 - 9
Control/UserControls/Config/MotionControl.xaml

@@ -84,15 +84,7 @@
                 </CheckBox>
             </hc:UniformSpacingPanel>
 
-            <hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4">
-                <CheckBox  Content="主窗口动画效果" IsChecked="{Binding AppAnimation}" Click="Animation_Checked">
-                    <CheckBox.Background>
-                        <LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
-                            <GradientStop Color="#FF9EA3A6"/>
-                        </LinearGradientBrush>
-                    </CheckBox.Background>
-                </CheckBox>
-            </hc:UniformSpacingPanel>
+            
 
             <hc:UniformSpacingPanel Spacing="10" Margin="0,10,0,0" Grid.ColumnSpan="4">
                 <TextBlock Text="面板关闭方式" VerticalAlignment="Center"/>

+ 0 - 8
Control/UserControls/Config/MotionControl.xaml.cs

@@ -306,14 +306,6 @@ namespace GeekDesk.Control.UserControls.Config
             }
         }
 
-        private void Animation_Checked(object sender, RoutedEventArgs e)
-        {
-            if (MainWindow.mainWindow.Visibility == Visibility.Collapsed)
-            {
-                appConfig.IsShow = true;
-            }
-            appConfig.IsShow = null;
-        }
 
 
         /// <summary>

+ 20 - 2
Control/UserControls/Config/ThemeControl.xaml

@@ -110,7 +110,25 @@
 
                 <hc:Divider LineStrokeDashArray="3,3" Margin="0,0,0,0" Height="20" LineStroke="Black" Grid.ColumnSpan="1"/>
 
-                <hc:UniformSpacingPanel Spacing="10" Margin="5,-10,0,0"  Grid.ColumnSpan="4">
+                <hc:UniformSpacingPanel Spacing="10" Margin="5,-10,0,0" Grid.ColumnSpan="4">
+                    <CheckBox  Content="主窗口动画" IsChecked="{Binding AppAnimation}" Click="Animation_Checked">
+                        <CheckBox.Background>
+                            <LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
+                                <GradientStop Color="#FF9EA3A6"/>
+                            </LinearGradientBrush>
+                        </CheckBox.Background>
+                    </CheckBox>
+                </hc:UniformSpacingPanel>
+                <hc:UniformSpacingPanel Spacing="10" Margin="5,10,0,0" Grid.ColumnSpan="4">
+                    <CheckBox  Content="列表展开动画" IsChecked="{Binding ItemSpradeAnimation}">
+                        <CheckBox.Background>
+                            <LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
+                                <GradientStop Color="#FF9EA3A6"/>
+                            </LinearGradientBrush>
+                        </CheckBox.Background>
+                    </CheckBox>
+                </hc:UniformSpacingPanel>
+                <hc:UniformSpacingPanel Spacing="10" Margin="5,10,0,0"  Grid.ColumnSpan="4">
                     <CheckBox x:Name="BarIcon" Content="显示托盘图标" IsChecked="{Binding ShowBarIcon}">
                         <CheckBox.Background>
                             <LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
@@ -120,7 +138,7 @@
                     </CheckBox>
                 </hc:UniformSpacingPanel>
 
-                <hc:UniformSpacingPanel Spacing="10" Margin="5,5,0,0"  Grid.ColumnSpan="4">
+                <hc:UniformSpacingPanel Spacing="10" Margin="5,10,0,0"  Grid.ColumnSpan="4">
                     <CheckBox  Content="显示主面板Logo" IsChecked="{Binding TitleLogoVisible, Mode=TwoWay, Converter={StaticResource Visibility2BooleanConverter}}">
                         <CheckBox.Background>
                             <LinearGradientBrush EndPoint="1,0" StartPoint="0,0">

+ 11 - 0
Control/UserControls/Config/ThemeControl.xaml.cs

@@ -157,5 +157,16 @@ namespace GeekDesk.Control.UserControls.Config
             GradientBGDialog gbg = new GradientBGDialog();
             gbg.dialog = HandyControl.Controls.Dialog.Show(gbg, "ConfigWindowDialog");
         }
+
+
+        private void Animation_Checked(object sender, RoutedEventArgs e)
+        {
+            if (MainWindow.mainWindow.Visibility == Visibility.Collapsed)
+            {
+                appConfig.IsShow = true;
+            }
+            appConfig.IsShow = null;
+        }
+
     }
 }

+ 5 - 1
Control/UserControls/PannelCard/LeftCardControl.xaml.cs

@@ -311,7 +311,11 @@ namespace GeekDesk.Control.UserControls.PannelCard
         {
             if (RunTimeStatus.IS_MENU_EDIT) return;
 
-            MainWindow.mainWindow.RightCard.WrapUFG.Visibility = Visibility.Collapsed;
+            if (appData.AppConfig.ItemSpradeAnimation)
+            {
+                //是否启用列表展开动画
+                MainWindow.mainWindow.RightCard.WrapUFG.Visibility = Visibility.Collapsed;
+            }
 
             //设置对应菜单的图标列表
             if (MenuListBox.SelectedIndex == -1)

+ 5 - 5
Control/UserControls/PannelCard/RightCardControl.xaml

@@ -112,11 +112,11 @@
             </hc:Card.ContextMenu>
             <hc:DialogContainer>
                 <Grid>
-                    <ot:PasswordDialog xf:Animations.Primary="{xf:Animate BasedOn={StaticResource FadeInAndGrowHorizontally}, Event=Visibility}"
-                                        x:Name="PDDialog"
-                                        Panel.ZIndex="99"
-                                        IsVisibleChanged="PDDialog_IsVisibleChanged"
-                                        Margin="0,-100,0,0"/>
+                    <ot:PasswordDialog xf:Animations.Primary="{xf:Animate BasedOn={StaticResource FadeInAndGrowHorizontally}, Event=Visibility, Duration=50, Delay=0}"
+                                       x:Name="PDDialog"
+                                       Panel.ZIndex="99"
+                                       IsVisibleChanged="PDDialog_IsVisibleChanged"
+                                       Margin="0,-100,0,0"/>
                     <StackPanel Panel.ZIndex="1" Margin="0,-10,-0,0"/>
                     <WrapPanel Orientation="Horizontal" 
                             VirtualizingPanel.VirtualizationMode="Recycling"  

+ 1 - 1
Control/Windows/ConfigWindow.xaml

@@ -110,7 +110,7 @@
                             </hc:SideMenu>
                         </hc:Card>
                         <hc:ScrollViewer  Grid.Row="0" Grid.Column="1" BorderThickness="0" Margin="0,5,1,5">
-                            <UniformGrid x:Name="UFG" xf:Animations.Primary="{xf:Animate BasedOn={StaticResource FadeInAndSlideFromLeft}, Event=Visibility}">
+                            <UniformGrid x:Name="UFG" xf:Animations.Primary="{xf:Animate BasedOn={StaticResource FadeIn}, Event=Visibility, Delay=0}">
                                 <!--<hc:TransitioningContentControl TransitionMode="Left2RightWithFade">-->
                                     <hc:Card x:Name="RightCard" BorderThickness="0"  MouseDown="DragMove">
                                         <hc:Card.Background>

+ 1 - 1
Update.json

@@ -2,7 +2,7 @@
 	"title": "GeekDesk版本更新",
 	"subTitle": "V2.5.10",
 	"msgTitle": "本次更新内容如下",
-	"msg": "['依旧耗费了我大量精力开发,希望大家去给我点个免费的Star', '这个版本优化点很多, 大家可以自行探索, 另外征集新Logo的设计, 要求美观并能体现\\'极客\\'风格','本次重新打包了程序文件(文件目录更清爽了), 可以将旧版本根目录下的Data文件复制到新版本根目录, 然后使用新版本启动','增加可拖动图标到其它菜单的功能,取消了拖动时的动画','增加了数据备份功能','优化大部分动画','优化搜索功能(达到了可只用键盘或只用鼠标启动所需目标)','增加了相对路径(实验性,可能有bug)','增加列表加密功能(实验性,可能有bug)','其它已知问题修复']",
+	"msg": "['依旧耗费了我大量精力开发,希望大家去给我点个免费的Star', '这个版本有一些优化点, 大家可以自行探索, 另外征集新Logo的设计, 要求美观并能体现\\'极客\\'风格','本次重新打包了程序文件(文件目录更清爽了), 可以将旧版本根目录下的Data文件复制到新版本根目录, 然后使用新版本启动','增加可拖动图标到其它菜单的功能,取消了拖动时的动画','增加了列表展开动画的开关','增加了数据备份功能','优化大部分动画','优化搜索功能(达到了可只用键盘或只用鼠标启动所需目标)','增加了相对路径(实验性,可能有bug)','增加列表加密功能(实验性,可能有bug)','其它已知问题修复']",
 	"githubUrl": "https://github.com/BookerLiu/GeekDesk/releases",
 	"giteeUrl": "https://gitee.com/BookerLiu/GeekDesk/releases",
 	"version": "2.5.10"

+ 1 - 0
Util/MarginHide.cs

@@ -128,6 +128,7 @@ namespace GeekDesk.Util
               && mouseY >= windowTop && mouseY <= windowTop + windowHeight && IS_HIDE && window.Visibility != Visibility.Visible)
             {
                 window.Visibility = Visibility.Visible;
+                App.DoEvents();
                 //上方显示
                 if (windowTop <= screenTop - showMarginWidth)
                 {

+ 14 - 0
ViewModel/AppConfig.cs

@@ -101,8 +101,22 @@ namespace GeekDesk.ViewModel
 
         private bool? isShow;
 
+        private bool itemSpradeAnimation; //列表展开动画
 
         #region GetSet
+        public bool ItemSpradeAnimation
+        {
+            get
+            {
+                return itemSpradeAnimation;
+            }
+            set
+            {
+                itemSpradeAnimation = value;
+                OnPropertyChanged("ItemSpradeAnimation");
+            }
+        }
+
         public bool? IsShow
         {
             get