MyColorPickerDialog.xaml.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. using GeekDesk.Control.Windows;
  2. using GeekDesk.ViewModel;
  3. using System;
  4. using System.Reflection;
  5. using System.Windows;
  6. using System.Windows.Input;
  7. using System.Windows.Media;
  8. namespace GeekDesk.Control.Other
  9. {
  10. public enum ColorType
  11. {
  12. COLOR_1 = 1,
  13. COLOR_2 = 2,
  14. TEXT_COLOR = 3
  15. }
  16. /// <summary>
  17. /// TextDialog.xaml 的交互逻辑
  18. /// </summary>
  19. public partial class MyColorPickerDialog
  20. {
  21. public static ColorType COLOR_TYPE = new ColorType();
  22. private static AppConfig appConfig = MainWindow.appData.AppConfig;
  23. public static HandyControl.Controls.Dialog dialog;
  24. private System.Windows.Controls.Primitives.ToggleButton toggleButton = null;
  25. private static ColorType colorType;
  26. public MyColorPickerDialog(string strType, string token)
  27. {
  28. InitializeComponent();
  29. switch (strType)
  30. {
  31. case "Color1":
  32. colorType = ColorType.COLOR_1; break;
  33. case "Color2":
  34. colorType = ColorType.COLOR_2; break;
  35. default:
  36. colorType = ColorType.TEXT_COLOR; break;
  37. }
  38. dialog = HandyControl.Controls.Dialog.Show(this, token);
  39. }
  40. /// <summary>
  41. /// 取消按钮事件
  42. /// </summary>
  43. /// <param name="sender"></param>
  44. /// <param name="e"></param>
  45. private void MyColorPicker_Canceled(object sender, EventArgs e)
  46. {
  47. MyColorPickerClose(sender);
  48. }
  49. private void MyColorPicker_Confirmed(object sender, HandyControl.Data.FunctionEventArgs<Color> e)
  50. {
  51. MyColorPickerClose(sender);
  52. }
  53. private void MyColorPicker_SelectedColorChanged(object sender, HandyControl.Data.FunctionEventArgs<Color> e)
  54. {
  55. SolidColorBrush scb = MyColorPicker.SelectedBrush;
  56. switch (colorType)
  57. {
  58. case ColorType.COLOR_1:
  59. appConfig.GradientBGParam.Color1 = scb.ToString(); break;
  60. case ColorType.COLOR_2:
  61. appConfig.GradientBGParam.Color2 = scb.ToString(); break;
  62. default:
  63. appConfig.TextColor = scb.ToString(); break;
  64. }
  65. }
  66. /// <summary>
  67. /// 移动窗口
  68. /// </summary>
  69. /// <param name="sender"></param>
  70. /// <param name="e"></param>
  71. private void DragMove(object sender, System.Windows.Input.MouseButtonEventArgs e)
  72. {
  73. if (e.LeftButton == MouseButtonState.Pressed)
  74. {
  75. Window.GetWindow(this).DragMove();
  76. }
  77. }
  78. private void MyColorPicker_Checked(object sender, RoutedEventArgs e)
  79. {
  80. toggleButton = e.OriginalSource as System.Windows.Controls.Primitives.ToggleButton;
  81. PixelColorPickerWindow colorPickerWindow = new PixelColorPickerWindow(MyColorPicker);
  82. colorPickerWindow.Show();
  83. }
  84. private void MyColorPickerClose(object sender)
  85. {
  86. dialog.Close();
  87. }
  88. }
  89. }