public T Open <T>() where T : class, IWindowController { var window = _factory.Create <T>(); if (window == null) { return(null); } window.Owner.SetParent(_root.Root, false); //TODO: add modal, single types if (window.Mode == WindowMode.Single) { _windows.Add(window); window.Open(); } else if (window.Mode == WindowMode.Modal) { _modalWindow?.Close(); _modalWindow = window; window.Open(); } WindowOpen?.Invoke(window); return(window); }
/// <summary> /// Processa o comando: WindowOpenConfiguration /// </summary> /// <param name="request">Comando</param> /// <param name="cancellationToken">CancellationToken</param> /// <returns>Task</returns> public Task <IDictionary <Window, Form> > Handle(WindowOpen request, CancellationToken cancellationToken) { var windowTypes = GetWindowsTypeOrdered(request.Window, request.OrderBy); var result = (IDictionary <Window, Form>)windowTypes .ToDictionary( windowType => windowType, windowType => OpenWindow(GetInstances(windowType)[0].Item2(), request.Parent)); return(Task.FromResult(result)); }
public OpenWindowRegion(WindowOpen window, WorldRegion region) { this.Window = window; this.Region = region; }