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); }
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); }
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); }