1
0

TodoControl.xaml.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using GeekDesk.Constant;
  2. using GeekDesk.Control.Windows;
  3. using GeekDesk.Util;
  4. using GeekDesk.ViewModel;
  5. using HandyControl.Controls;
  6. using System;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Input;
  10. using System.Windows.Media;
  11. namespace GeekDesk.Control.UserControls.Backlog
  12. {
  13. public enum ToDoType
  14. {
  15. HISTORY = 1,
  16. NEW = 2
  17. }
  18. /// <summary>
  19. /// BacklogControl.xaml 的交互逻辑
  20. /// </summary>
  21. public partial class TodoControl : UserControl
  22. {
  23. public ToDoType type;
  24. public TodoControl()
  25. {
  26. InitializeComponent();
  27. }
  28. private void DeleteMenu_Click(object sender, RoutedEventArgs e)
  29. {
  30. ToDoInfo info = BacklogList.SelectedItem as ToDoInfo;
  31. Growl.Ask("确认删除吗?", isConfirmed =>
  32. {
  33. if (isConfirmed)
  34. {
  35. if (type == ToDoType.NEW)
  36. {
  37. MainWindow.appData.ToDoList.Remove(info);
  38. }
  39. else
  40. {
  41. MainWindow.appData.HiToDoList.Remove(info);
  42. }
  43. CommonCode.SaveAppData(MainWindow.appData, Constants.DATA_FILE_PATH);
  44. }
  45. return true;
  46. }, "DeleteConfirm");
  47. }
  48. private void DetailMenu_Click(object sender, RoutedEventArgs e)
  49. {
  50. ToDoInfo info = BacklogList.SelectedItem as ToDoInfo;
  51. ToDoInfoWindow.ShowDetail(info);
  52. }
  53. /// <summary>
  54. /// 禁用设置按钮右键菜单
  55. /// </summary>
  56. /// <param name="sender"></param>
  57. /// <param name="e"></param>
  58. private void DataGridMenu_Initialized(object sender, EventArgs e)
  59. {
  60. BacklogList.ContextMenu = null;
  61. }
  62. /// <summary>
  63. /// 打开右键菜单
  64. /// </summary>
  65. /// <param name="sender"></param>
  66. /// <param name="e"></param>
  67. private void DataGridRow_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
  68. {
  69. int index;
  70. ToDoInfo info = ((Border)sender).DataContext as ToDoInfo;
  71. if (type == ToDoType.NEW)
  72. {
  73. index = MainWindow.appData.ToDoList.IndexOf(info);
  74. }
  75. else
  76. {
  77. index = MainWindow.appData.HiToDoList.IndexOf(info);
  78. }
  79. BacklogList.SelectedIndex = index;
  80. Menu.IsOpen = true;
  81. }
  82. /// <summary>
  83. /// 选中时颜色变化
  84. /// </summary>
  85. /// <param name="sender"></param>
  86. /// <param name="e"></param>
  87. private void DataGridRow_Selected(object sender, RoutedEventArgs e)
  88. {
  89. Color c = Color.FromRgb(91, 192, 222);
  90. SolidColorBrush b = new SolidColorBrush
  91. {
  92. Color = c,
  93. Opacity = 0.9
  94. };
  95. ((DataGridRow)sender).Background = b;
  96. }
  97. }
  98. }