/// <summary> /// Maximum Flexibility of Window Definition version of Show In Window /// </summary> /// <param name="window">THe Window in which to show this View</param> /// <param name="windowTitle">A Title for the Window</param> /// <param name="windowWidth">The Width of the Window</param> /// <param name="windowHeight">The Height of the Window</param> /// <param name="dock">How should the View be Docked</param> /// <param name="onWindowClosed">Event handler for when the window is closed</param> public void ShowInWindow(bool modal, ViewWindow window, string windowTitle, double windowWidth, double windowHeight, Dock dock, OnWindowClose onWindowClose) { this.onWindowClosed = onWindowClose; viewWindow = window; viewWindow.Title = windowTitle; DockPanel.SetDock(this, dock); // The viewWindow must have a dockPanel called WindowDockPanel. If you want to change this to use some other container on the window, then // the below code should be the only place it needs to be changed. viewWindow.WindowDockPanel.Children.Add(this); if (windowWidth == 0 && windowHeight == 0) { viewWindow.SizeToContent = SizeToContent.WidthAndHeight; } else { viewWindow.SizeToContent = SizeToContent.Manual; viewWindow.Width = windowWidth; viewWindow.Height = windowHeight; } if (modal) { viewWindow.ShowDialog(); } else { viewWindow.Show(); } }
public void ShowInWindow(ViewWindow MainWindow) { if (view != null) { View.OnUserClosedWindow += new BaseView.WindowsClosedHandler(View_OnUserClosedWindow); View.ShowInWindow(MainWindow, "School Scheduler", 0, 0, Dock.Top); } }
public void Dispose() { ViewWindow.WindowDockPanel.Children.Remove(this); if (ViewWindow.WindowDockPanel.Children.Count.Equals(0)) { if(viewWindow.IsActive) ViewWindow.DialogResult = true; ViewWindow.Close(); } viewWindow = null; }
public void ShowInWindow(ViewWindow window, string windowTitle, double windowWidth, double windowHeight, Dock dock) { viewWindow = window; ViewWindow.Title = windowTitle; DockPanel.SetDock(this, dock); ViewWindow.WindowDockPanel.Children.Add(this); ViewWindow.MinHeight = 100; ViewWindow.MinWidth = 200; if (windowWidth == 0 && windowHeight == 0) { viewWindow.SizeToContent = SizeToContent.WidthAndHeight; } else { ViewWindow.SizeToContent = SizeToContent.Manual; ViewWindow.Width = windowWidth; ViewWindow.Height = windowHeight; } bool? dialogResult = ViewWindow.ShowDialog(); switch (dialogResult) { case true: // User accepted dialog box break; case false: // User canceled dialog box WindowClosed(); break; default: // Indeterminate break; } }
private void ViewHandler() { while (CurrentView != ViewModes.Close) { Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown; switch (CurrentView) { case ViewModes.Main: ViewWindow MainWindow = new ViewWindow(); Current_ViewModel = new LoginViewModel(); ((LoginViewModel)Current_ViewModel).OnUserLogin += new LoginViewModel.UserLoginHandler(User_Login); Current_ViewModel.OnUserClosedWindow += new BaseViewModel.WindowsClosedHandler(User_Close); Current_ViewModel.ShowInWindow(MainWindow); break; case ViewModes.Editor: ViewWindow EditorWindow = new ViewWindow(); Current_ViewModel = new EditViewModel(CurrentUser); ((EditViewModel)Current_ViewModel).OnUserEdited += new EditViewModel.UserEditingHandler(User_Edited); Current_ViewModel.OnUserClosedWindow += new BaseViewModel.WindowsClosedHandler(User_Close); Current_ViewModel.ShowInWindow(EditorWindow); break; } } }
/// <summary> /// Show this control in an existing window, by default docked top. /// </summary> /// <param name="window"></param> public void ShowInWindow(bool modal, ViewWindow window) { ShowInWindow(modal, window, window.Title, window.Width, window.Height, Dock.Top, null); }
/// <summary> /// Tell the View to close itself. Handle the case where we're in a window and the window needs closing. /// </summary> /// <param name="dialogResult"></param> public void ViewModelClosingHandler(bool? dialogResult) { if (viewWindow == null) { System.Windows.Controls.Panel panel = this.Parent as System.Windows.Controls.Panel; if (panel != null) { panel.Children.Remove(this); } } else { viewWindow.Closed -= ViewsWindow_Closed; if (viewWindow.IsDialogWindow) { // If the window is a Dialog and is not actiuve it must be in the process of being closed if (viewWindow.IsActive) { viewWindow.DialogResult = dialogResult; } } else { viewWindow.Close(); } viewWindow = null; } // Process the ViewClosed method to cater for if this has been instigated by the user closing a window, rather than by // the close being instigated by a ViewModel ViewClosed(); }
private void Register() { if (!String.IsNullOrEmpty(UserEmail)) { try { LoginUser.GetUser_ByEmail(); ErrorText = "User already exists"; ErrorActive = true; LoginUser = new User(); } catch (ArgumentNullException ex) { if (ex.Message.Equals("User does not exists\r\nParameter name: Get User info fail")) { ViewWindow RegisterWindow; BaseViewModel RegisterWindow_ViewModel; RegisterWindow = new ViewWindow(); RegisterWindow_ViewModel = new RegisterViewModel(LoginUser); ((RegisterViewModel)RegisterWindow_ViewModel).OnUserRegistrated += Registradet; RegisterWindow_ViewModel.ShowInWindow(RegisterWindow); } else { ErrorText = ex.Message; ErrorActive = true; } } catch (Exception ex) { ErrorText = ex.Message; ErrorActive = true; } } else { ErrorText = "Missing email"; ErrorActive = true; } }
public MainViewModel(ViewWindow ThisWindow) { ThisView = new MainView(); ThisView.OpenInWindow(ThisWindow); }
public void ShowInWindow(ViewWindow window) { ShowInWindow(window, window.Title, window.Width, window.Height, Dock.Top); }