Пример #1
0
        public bool TryBoundToMainWindow(int sideIndex, Page page)
        {
            if (!HasOwnWindow(page))
            {
                PageBindingChange?.Invoke(this, new PageBindingChangeEventArgs()
                {
                    page   = page,
                    action = PageBindingChangeEventArgs.ActionType.Unbind
                });
            }

            var eventArgs = new PageBindingChangeEventArgs()
            {
                page            = page,
                targetSpotIndex = sideIndex,
                action          = PageBindingChangeEventArgs.ActionType.Bind
            };

            PageBindingChange?.Invoke(this, eventArgs);

            if (pageContainers.ContainsKey(page) && pageContainers[page] != null)
            {
                pageContainers[page].Close();
                pageContainers.Remove(page);
            }

            return(eventArgs.handled);
        }
Пример #2
0
        public bool TryClosePage(Page page)
        {
            if (HasOwnWindow(page))
            {
                pageContainers[page].Close();
                return(true);
            }

            var eventArgs = new PageBindingChangeEventArgs()
            {
                page   = page,
                action = PageBindingChangeEventArgs.ActionType.Unbind
            };

            PageBindingChange?.Invoke(this, eventArgs);
            return(true);
        }
Пример #3
0
        public bool TryUnBound(Page page, string windowTitle)
        {
            if (HasOwnWindow(page))
            {
                return(false);
            }

            var eventArgs = new PageBindingChangeEventArgs()
            {
                page   = page,
                action = PageBindingChangeEventArgs.ActionType.Unbind
            };

            PageBindingChange?.Invoke(this, eventArgs);

            var nwContainerWindow = new PageContainerWindow(page, windowTitle);

            pageContainers.Add(page, nwContainerWindow);
            nwContainerWindow.Show();

            return(eventArgs.handled);
        }