/// <summary>
 /// Displays content in an application window
 /// </summary>
 /// <param name="windowTitle">Title of the window</param>
 /// <param name="windowContents">Contents to be displayed in the window</param>
 /// <param name="isModal">Determines wheter the window is modal or not</param>
 /// <param name="onHidingHandler">Event handler invoked when window is being hidden, and can be handled to cancel window closure</param>
 /// <param name="onHideHandler">Event handler invoked when the window is hidden</param>
 /// <param name="windowType">Determines the type of the window</param>
 /// <param name="top">The distance from the top of the application at which to position the window</param>
 /// <param name="left">The distance from the left of the application at which to position the window</param>
 /// <returns>The window</returns>
 public object ShowWindow(string windowTitle, FrameworkElement windowContents, bool isModal = false,
                          EventHandler <CancelEventArgs> onHidingHandler = null, EventHandler onHideHandler = null,
                          WindowType windowType = WindowType.Floating, double?top = null, double?left = null)
 {
     checkApplicationContext();
     return(_appHost.ShowWindow(windowTitle, windowContents, isModal, onHidingHandler, onHideHandler,
                                windowType, top, left));
 }