Пример #1
0
        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);
        }