public void Close(string key, object viewModel)
        {
            if (!_viewsByKey.ContainsKey(key))
            {
                throw new ArgumentException($"Key {key} wasn't registered", nameof(key));
            }
            var window = OpenedWindows.Single(w => w.DataContext == viewModel);

            window.Close();
            OpenedWindows.Remove(window);
        }
Example #2
0
        public void SwitchToWindow(string windowHandle)
        {
            if (IsOpened)
            {
                if (!OpenedWindows.Contains(windowHandle))
                {
                    throw new ArgumentException($"Can`t find window with handle = {windowHandle}");
                }

                DriverKeeper.GetDriver.SwitchTo().Window(windowHandle);
                WindowChanged?.Invoke(windowHandle);
            }
        }
Example #3
0
        public void CloseWindow(string windowHandle)
        {
            if (!IsOpened)
            {
                return;
            }
            if (!OpenedWindows.Contains(windowHandle))
            {
                throw new ArgumentException($"Can`t find window with handle = {windowHandle}");
            }
            if (OpenedWindows.Count == 1)
            {
                Quit();
                return;
            }

            string currentHandle = DriverKeeper.GetDriver.CurrentWindowHandle;

            bool windowChanged = false;

            if (currentHandle != windowHandle)
            {
                DriverKeeper.GetDriver.SwitchTo().Window(windowHandle).Close();
                DriverKeeper.GetDriver.SwitchTo().Window(currentHandle);
            }
            else
            {
                DriverKeeper.GetDriver.Close();
                DriverKeeper.GetDriver.SwitchTo().Window(OpenedWindows.Last());
                windowChanged = true;
            }

            WindowClosed?.Invoke(windowHandle);
            if (windowChanged)
            {
                WindowChanged?.Invoke(OpenedWindows.Last());
            }
        }
        public void Show(string key, object viewModel)
        {
            if (!_viewsByKey.ContainsKey(key))
            {
                throw new ArgumentException($"Key {key} wasn't registered", nameof(key));
            }
            var view   = _viewsByKey[key];
            var window = new Window()
            {
                Content       = view,
                DataContext   = viewModel,
                Height        = 450,
                Width         = 800,
                WindowStyle   = WindowStyle.None,
                ShowInTaskbar = false,
                Left          = Owner.Left + Owner.Width,
                Top           = Owner.Top
            };

            OpenedWindows.Add(window);
            window.MouseLeftButtonDown += Drag;
            window.Show();
        }