GradientBGDialog.xaml.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using GeekDesk.Util;
  2. using GeekDesk.ViewModel;
  3. using GeekDesk.ViewModel.Temp;
  4. using System;
  5. using System.Collections.ObjectModel;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Input;
  9. namespace GeekDesk.Control.Other
  10. {
  11. /// <summary>
  12. /// TextDialog.xaml 的交互逻辑
  13. /// </summary>
  14. public partial class GradientBGDialog
  15. {
  16. public HandyControl.Controls.Dialog dialog;
  17. public GradientBGDialog()
  18. {
  19. ObservableCollection<GradientBGParam> bgArr = DeepCopyUtil.DeepCopy(GradientBGParamList.GradientBGParams);
  20. foreach(var bg in MainWindow.appData.AppConfig.CustomBGParams)
  21. {
  22. bgArr.Add(bg);
  23. }
  24. this.DataContext = DeepCopyUtil.DeepCopy(bgArr);
  25. InitializeComponent();
  26. }
  27. private void Close_Click(object sender, RoutedEventArgs e)
  28. {
  29. dialog.Close();
  30. }
  31. private void BGBorder_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
  32. {
  33. GradientBGParam bgParam = (sender as Border).Tag as GradientBGParam;
  34. MainWindow.appData.AppConfig.GradientBGParam = bgParam;
  35. BGSettingUtil.BGSetting();
  36. }
  37. /// <summary>
  38. /// 移动窗口
  39. /// </summary>
  40. /// <param name="sender"></param>
  41. /// <param name="e"></param>
  42. private void DragMove(object sender, System.Windows.Input.MouseButtonEventArgs e)
  43. {
  44. if (e.LeftButton == MouseButtonState.Pressed)
  45. {
  46. Window.GetWindow(this).DragMove();
  47. }
  48. }
  49. private void Delete(object sender, RoutedEventArgs e)
  50. {
  51. HandyControl.Controls.Growl.Ask("确认删除吗?", isConfirmed =>
  52. {
  53. if (isConfirmed)
  54. {
  55. GradientBGParam bg = (GradientBGParam)(((MenuItem)sender).Tag);
  56. ObservableCollection<GradientBGParam> bgArr = (ObservableCollection<GradientBGParam>)this.DataContext;
  57. bgArr.Remove(bg);
  58. MainWindow.appData.AppConfig.CustomBGParams.Remove(bg);
  59. for (int i = MainWindow.appData.AppConfig.CustomBGParams.Count - 1; i >= 0; i--)
  60. {
  61. var cbg = MainWindow.appData.AppConfig.CustomBGParams[i];
  62. if (cbg.Id == null)
  63. {
  64. if (cbg.Color1.Equals(bg.Color1) && cbg.Color2.Equals(bg.Color2))
  65. {
  66. MainWindow.appData.AppConfig.CustomBGParams.RemoveAt(i);
  67. }
  68. } else
  69. {
  70. if (cbg.Id.Equals(bg.Id))
  71. {
  72. MainWindow.appData.AppConfig.CustomBGParams.RemoveAt(i);
  73. }
  74. }
  75. }
  76. MainWindow.appData.AppConfig.CustomBGParams = DeepCopyUtil.DeepCopy(MainWindow.appData.AppConfig.CustomBGParams);
  77. }
  78. return true;
  79. }, "ConfigWindowAskGrowl");
  80. }
  81. }
  82. }