From 48732a081584a392a9036f934ee98eb8654ed66e Mon Sep 17 00:00:00 2001 From: BookerLiu Date: Wed, 19 Apr 2023 15:42:51 +0800 Subject: [PATCH] =?UTF-8?q?:tada:=20=E6=B7=BB=E5=8A=A0=E6=96=B0=E6=89=8B?= =?UTF-8?q?=E5=BC=95=E5=AF=BC=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GeekDesk.csproj | 1 + MainWindow.xaml | 31 ++++++--- MainWindow.xaml.cs | 117 ++++++++++++++------------------ ViewModel/Temp/GuideInfoList.cs | 79 +++++++++++++++++++++ 4 files changed, 155 insertions(+), 73 deletions(-) create mode 100644 ViewModel/Temp/GuideInfoList.cs diff --git a/GeekDesk.csproj b/GeekDesk.csproj index f99f8b2..abd8a5f 100644 --- a/GeekDesk.csproj +++ b/GeekDesk.csproj @@ -305,6 +305,7 @@ + diff --git a/MainWindow.xaml b/MainWindow.xaml index 2157a23..27fd6f9 100644 --- a/MainWindow.xaml +++ b/MainWindow.xaml @@ -57,6 +57,7 @@ - + - + HorizontalAlignment="Left" Visibility="Collapsed"> + + + + Text=""/> - + + + - + diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 2931fd5..904f657 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -17,6 +17,7 @@ using ShowSeconds; using System; using System.Collections.ObjectModel; using System.Diagnostics; +using System.IO; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; @@ -48,8 +49,13 @@ namespace GeekDesk public static int toDoHotKeyId = -1; public static int colorPickerHotKeyId = -1; public static MainWindow mainWindow; + + private static bool dataFileExist = true; public MainWindow() { + //判断数据文件是否存在 如果不存在那么是第一次打开程序 + dataFileExist = File.Exists(Constants.DATA_FILE_PATH); + //加载数据 LoadData(); InitializeComponent(); @@ -359,7 +365,10 @@ namespace GeekDesk MessageUtil.ChangeWindowMessageFilter(MessageUtil.WM_COPYDATA, 1); - Guide(); + if (!dataFileExist) + { + Guide(); + } } @@ -1016,78 +1025,48 @@ namespace GeekDesk - class GuideInfo - { - private string title1; - private string title2; - private string guideText; - - public string Title1 { get; set; } - public string Title2 { get; set; } - public string GuideText { get; set; } - } - enum GuidePopOffect - { - TOP, - INNER_TOP, - LEFT, - INNER_LEFT, - CENTER, - RIGHT, - INNER_RIGHT, - BOTTOM, - INNER_BOTTOM - } - - private ObservableCollection list = new ObservableCollection(); - + #region 新手引导 private void Guide() { - - GuideInfo guideInfo = new GuideInfo + if (CheckShouldShowApp()) { - Title1 = "提示1", - Title2 = "快捷方式创建", - GuideText = "将文件拖动到这里自动创建快捷方式, 或者鼠标右键单击添加系统项目" - }; - list.Add(guideInfo); - - guideInfo = new GuideInfo - { - Title1 = "提示2", - Title2 = "快捷方式创建", - GuideText = "将文件拖动到这里自动创建快捷方式, 或者鼠标右键单击添加系统项目" - }; - list.Add(guideInfo); - - guideInfo = new GuideInfo - { - Title1 = "提示3", - Title2 = "快捷方式创建", - GuideText = "将文件拖动到这里自动创建快捷方式, 或者鼠标右键单击添加系统项目" - }; - list.Add(guideInfo); - + ShowApp(); + } GrayBorder.Visibility = Visibility.Visible; GuideSwitch(0); GuideCard.Visibility = Visibility.Visible; } - private void GuideSwitch(int num) + private void GuideSwitch(int index) { - switch (num) + GuideNum.Text = Convert.ToString(index + 1); + GuideTitle1.Text = GuideInfoList.mainWindowGuideList[index].Title1; + GuideTitle2.Text = GuideInfoList.mainWindowGuideList[index].Title2; + GuideText.Text = GuideInfoList.mainWindowGuideList[index].GuideText; + + if (index == 0) + { + PreviewGuideBtn.Visibility = Visibility.Collapsed; + NextGuideBtn.Content = "下一步"; + } else if (index > 0 && index < GuideInfoList.mainWindowGuideList.Count - 1) + { + PreviewGuideBtn.Visibility = Visibility.Visible; + NextGuideBtn.Content = "下一步"; + } else + { + NextGuideBtn.Content = "完成"; + } + + switch (index) { default: //0 //右侧列表区域 - PreviewGuideBtn.Visibility = Visibility.Collapsed; - NextGuideBtn.Content = "下一步"; + Point point = RightCard.TransformToAncestor(this).Transform(new Point(0, 0)); //内部中上 GrayBoderClip(point.X, point.Y, RightCard.ActualWidth, RightCard.ActualHeight, new Thickness(point.X + RightCard.ActualWidth / 2 - GuideCard.ActualWidth / 2, point.Y, 0, 0)); break; case 1: //左侧菜单 - PreviewGuideBtn.Visibility = Visibility.Visible; - NextGuideBtn.Content = "下一步"; Point leftCardPoint = LeftCard.TransformToAncestor(this).Transform(new Point(0, 0)); GrayBoderClip(leftCardPoint.X , leftCardPoint.Y , LeftCard.ActualWidth, LeftCard.ActualHeight, // 外部中下侧 @@ -1095,11 +1074,17 @@ namespace GeekDesk leftCardPoint.Y + LeftCard.ActualHeight / 2 - GuideCard.ActualHeight / 2, 0, 0)); break; case 2: //头部拖拽栏 - NextGuideBtn.Content = "完成"; GrayBoderClip(0, 0, this.Width, 50, // 外部中下侧 new Thickness(this.Width / 2 - GuideCard.ActualWidth / 2, 50, 0, 0)); break; + case 3: + Point mainBtnPoint = MainBtnPanel.TransformToAncestor(this).Transform(new Point(0, 0)); + GrayBoderClip(mainBtnPoint.X, mainBtnPoint.Y, MainBtnPanel.ActualWidth, MainBtnPanel.ActualHeight, + // 外部左下侧 + new Thickness(mainBtnPoint.X - GuideCard.Width, + mainBtnPoint.Y, 0, 0)); + break; } } @@ -1122,11 +1107,8 @@ namespace GeekDesk private void PreviewGuideBtn_Click(object sender, RoutedEventArgs e) { - int index = Convert.ToInt32(GuideTitle1.Text.ToString().Substring(2)) - 1; + int index = Convert.ToInt32(GuideNum.Text.ToString()) - 1; int previewIndex = index - 1; - GuideTitle1.Text = list[previewIndex].Title1; - GuideTitle2.Text = list[previewIndex].Title2; - GuideText.Text = list[previewIndex].GuideText; GuideSwitch(previewIndex); } @@ -1137,12 +1119,17 @@ namespace GeekDesk GuideCard.Visibility = Visibility.Collapsed; return; } - int index = Convert.ToInt32(GuideTitle1.Text.ToString().Substring(2)) - 1; + int index = Convert.ToInt32(GuideNum.Text.ToString()) - 1; int nextIndex = index + 1; - GuideTitle1.Text = list[nextIndex].Title1; - GuideTitle2.Text = list[nextIndex].Title2; - GuideText.Text = list[nextIndex].GuideText; GuideSwitch(nextIndex); } + + + #endregion + + private void Guide_Click(object sender, RoutedEventArgs e) + { + Guide(); + } } } diff --git a/ViewModel/Temp/GuideInfoList.cs b/ViewModel/Temp/GuideInfoList.cs new file mode 100644 index 0000000..ad36f89 --- /dev/null +++ b/ViewModel/Temp/GuideInfoList.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GeekDesk.Util +{ + public class GuideInfoList + { + + public static ObservableCollection mainWindowGuideList = new ObservableCollection(); + + static GuideInfoList() + { + GuideInfo guideInfo = new GuideInfo + { + Title1 = "引导提示", + Title2 = "图标列表区", + GuideText = "右侧高亮区域是图标列表区, 将文件拖动到图标列表区将自动创建快捷方式, 或者鼠标右键单击添加系统项目" + }; + mainWindowGuideList.Add(guideInfo); + + guideInfo = new GuideInfo + { + Title1 = "引导提示", + Title2 = "菜单栏", + GuideText = "左侧高亮区域是菜单栏, 右键单击左侧区域可以创建菜单, 右键单击菜单可以对菜单进行操作" + }; + mainWindowGuideList.Add(guideInfo); + + guideInfo = new GuideInfo + { + Title1 = "引导提示", + Title2 = "拖动区域", + GuideText = "左键按住上部高亮区域可以拖动程序窗体" + }; + mainWindowGuideList.Add(guideInfo); + + guideInfo = new GuideInfo + { + Title1 = "引导提示", + Title2 = "设置和关闭", + GuideText = "高亮区域的两个按钮分别是设置和关闭按钮, 你可以点击设置按钮重新打开引导提示, 设置窗口中可自定义开启或关闭众多功能, 赶紧探索使用吧" + }; + + mainWindowGuideList.Add(guideInfo); + } + + + public class GuideInfo + { + private string title1; + private string title2; + private string guideText; + + public string Title1 { get; set; } + public string Title2 { get; set; } + public string GuideText { get; set; } + } + + public enum GuidePopOffect + { + TOP, + INNER_TOP, + LEFT, + INNER_LEFT, + CENTER, + RIGHT, + INNER_RIGHT, + BOTTOM, + INNER_BOTTOM + } + + + + } +}