示例#1
0
        /// <summary>
        ///     Processa o comando: WindowClose
        /// </summary>
        /// <param name="request">Comando</param>
        /// <param name="cancellationToken">CancellationToken</param>
        /// <returns>Task</returns>
        public Task <Unit> Handle(WindowClose request, CancellationToken cancellationToken)
        {
            var windowTypes = GetWindowsTypeOrdered(request.Window, request.OrderBy);

            foreach (var windowType in windowTypes)
            {
                foreach (var formFactory in GetInstances(windowType))
                {
                    formFactory.Item1?.Hide();
                }
            }

            return(Unit.Task);
        }
示例#2
0
        public void Close(IWindowController window)
        {
            if (window == null)
            {
                return;
            }

            WindowPreClose?.Invoke(window);

            _windows.Remove(window);
            if (_modalWindow == window)
            {
                _modalWindow = null;
            }

            _factory.Remove(window);

            WindowClose?.Invoke(window);
        }
示例#3
0
        public void Close(IWindowController window)
        {
            if (window == null)
            {
                return;
            }

            WindowPreClose?.Invoke(window);

            _windows.Remove(window);
            if (_modalWindow == window)
            {
                _modalWindow = null;
            }

            //TODO: stackowerflow
            //window.Close();

            _factory.Remove(window);

            WindowClose?.Invoke(window);
        }
 private void OnClose() => WindowClose?.Invoke();
示例#5
0
 protected virtual void OnWindowClose()
 {
     WindowClose?.Invoke();
 }
示例#6
0
文件: Window.cs 项目: Jebeli/Tiles
 protected virtual void OnWindowClose()
 {
     WindowClose?.Invoke(this, EventArgs.Empty);
 }
示例#7
0
 public static void OnWindowClose()
 {
     WindowClose?.Invoke();
 }