ToDoWindow.xaml.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. using GeekDesk.Control.UserControls.Backlog;
  2. using GeekDesk.Interface;
  3. using GeekDesk.ViewModel;
  4. using HandyControl.Controls;
  5. using System.Windows;
  6. using System.Windows.Input;
  7. namespace GeekDesk.Control.Windows
  8. {
  9. /// <summary>
  10. /// BacklogWindow.xaml 的交互逻辑
  11. /// </summary>
  12. public partial class ToDoWindow : IWindowCommon
  13. {
  14. private static TodoControl backlog = new TodoControl();
  15. private AppData appData = MainWindow.appData;
  16. private ToDoWindow()
  17. {
  18. InitializeComponent();
  19. RightCard.Content = backlog;
  20. backlog.BacklogList.ItemsSource = appData.ToDoList;
  21. this.Topmost = true;
  22. }
  23. /// <summary>
  24. /// 移动窗口
  25. /// </summary>
  26. /// <param name="sender"></param>
  27. /// <param name="e"></param>
  28. private void DragMove(object sender, System.Windows.Input.MouseButtonEventArgs e)
  29. {
  30. if (e.LeftButton == MouseButtonState.Pressed)
  31. {
  32. DragMove();
  33. }
  34. }
  35. /// <summary>
  36. /// 点击关闭按钮
  37. /// </summary>
  38. /// <param name="sender"></param>
  39. /// <param name="e"></param>
  40. private void Close_Button_Click(object sender, RoutedEventArgs e)
  41. {
  42. this.Close();
  43. }
  44. private void MemuClick(object sender, RoutedEventArgs e)
  45. {
  46. SideMenuItem smi = sender as SideMenuItem;
  47. switch (smi.Tag.ToString())
  48. {
  49. case "History":
  50. backlog.BacklogList.ItemsSource = appData.HiToDoList;
  51. backlog.type = ToDoType.HISTORY;
  52. break;
  53. default:
  54. backlog.BacklogList.ItemsSource = appData.ToDoList;
  55. backlog.type = ToDoType.NEW;
  56. break;
  57. }
  58. }
  59. /// <summary>
  60. /// 新建待办
  61. /// </summary>
  62. /// <param name="sender"></param>
  63. /// <param name="e"></param>
  64. private void CreateBacklog_BtnClick(object sender, RoutedEventArgs e)
  65. {
  66. ToDoInfoWindow.ShowNone();
  67. }
  68. private static System.Windows.Window window = null;
  69. #pragma warning disable CS0108 // “ToDoWindow.Show()”隐藏继承的成员“Window.Show()”。如果是有意隐藏,请使用关键字 new。
  70. public static void Show()
  71. #pragma warning restore CS0108 // “ToDoWindow.Show()”隐藏继承的成员“Window.Show()”。如果是有意隐藏,请使用关键字 new。
  72. {
  73. if (window == null || !window.Activate())
  74. {
  75. window = new ToDoWindow();
  76. }
  77. window.Show();
  78. Keyboard.Focus(window);
  79. }
  80. public void OnKeyDown(object sender, KeyEventArgs e)
  81. {
  82. if (e.Key == Key.Escape)
  83. {
  84. this.DataContext = null;
  85. this.Close();
  86. }
  87. }
  88. }
  89. }