public Window ShowTabInNewWindow(ShellTabViewModel shellTab) { this.appShell.ViewModel.ShellTabs.Remove(shellTab); var shellViewPresenter = new ShellViewPresenter() { View = shellTab.View }; var window = new Window { Content = shellViewPresenter, Title = shellTab.Title, MinWidth = 400, MinHeight = 300 }; var awareViewModel = shellTab.View.DataContext as IShellViewStateAware; awareViewModel?.ShellViewStateChanged(ShellViewState.Window); window.Show(); var windowHandle = new WindowInteropHelper(window).Handle; WinApi.SetForegroundWindow(windowHandle); this.RegisterWindowClosable(window, shellTab.View.DataContext as IClosable); this.UnregisterTabCloseable(shellTab); return(window); }
public Window ShowInNewWindow(string title, UserControl view, ViewModelBase viewModel, int minWidth, int minHeight, bool isDialog = false) { view.DataContext = viewModel; var shellViewPresenter = new ShellViewPresenter() { View = view }; var window = new Window { Content = shellViewPresenter, Title = title, MinWidth = minWidth, MinHeight = minHeight }; var awareViewModel = viewModel as IShellViewStateAware; awareViewModel?.ShellViewStateChanged(ShellViewState.Window); this.RegisterWindowClosable(window, viewModel as IClosable); if (isDialog) { window.ShowDialog(); } else { window.Show(); } //var windowHandle = new WindowInteropHelper(window).Handle; //WinApi.SetForegroundWindow(windowHandle); return(window); }