Пример #1
0
 private void Unfocused(object sender, EventArgs e)
 {
     Thread.Sleep(200); //Make sure unfocused event is processed after left click event //TODO change behavior of SysTrayWrapper
     _tasksManagerWindow.Deactivated -= Unfocused;
     _tasksManagerWindow.Close();
     _tasksManagerWindow = null;
 }
Пример #2
0
        private void LeftClickOnTray()
        {
            if (_tasksManagerWindow == null)
            {
                _tasksManagerWindow = new TasksManagerView(_viewModel);

                var point = System.Windows.Forms.Cursor.Position;
                _tasksManagerWindow.Left = point.X - _tasksManagerWindow.Width / 2;
                _tasksManagerWindow.Top  = point.Y - _tasksManagerWindow.Height;

                _tasksManagerWindow.Topmost       = true;
                _tasksManagerWindow.ShowInTaskbar = false;
                _tasksManagerWindow.Show();
                _tasksManagerWindow.Activate();

                _tasksManagerWindow.Deactivated += Unfocused;
            }

            ////DEBUG
            //var task = _taskRepository.GetAllExecutableTasks().ToArray()[3];
            //Task.Run(() =>
            //{
            //    for (;;)
            //    {
            //        Application.Current.Dispatcher.Invoke(delegate {
            //            task.IsFailed = !task.IsFailed;
            //        });
            //        Thread.Sleep(2000);
            //    }
            //});
        }