private void CloseTab(BrowserTabViewModel browserViewModel) { if (BrowserTabs.Remove(browserViewModel)) { browserViewModel.WebBrowser?.Dispose(); } }
public void AddTab(Uri uri) { var model = new BrowserTabViewModel(); model.SourceUri = uri; BrowserWindowViewModel.BrowserTabViewModels.Add(model); }
private static void CreateWarmupView() { Window warmupView = new WarmupView() { WindowStyle = WindowStyle.None, WindowState = WindowState.Normal, ResizeMode = ResizeMode.NoResize, ShowInTaskbar = false, ShowActivated = false, Height = 0, Width = 0, }; warmupView.Loaded += async(s, e) => { await ThemeManager.PreloadThemeResourceAsync(Settings.Default.ThemeName); warmupView.Close(); }; BrowserTabViewModel viewModel = ViewModelSource.Create <BrowserTabViewModel>(); viewModel.OpenItem(FileSystemHelper.QuickAccess); warmupView.DataContext = viewModel; warmupView.Show(); warmupView.Hide(); }
private void CloseTab(object sender, ExecutedRoutedEventArgs e) { if (BrowserTabs.Count > 0) { //Obtain the original source element for this event var originalSource = (FrameworkElement)e.OriginalSource; BrowserTabViewModel browserViewModel = null; if (originalSource is MainWindow) { browserViewModel = BrowserTabs[TabControl.SelectedIndex]; BrowserTabs.RemoveAt(TabControl.SelectedIndex); } else { //Remove the matching DataContext from the BrowserTabs collection browserViewModel = (BrowserTabViewModel)originalSource.DataContext; BrowserTabs.Remove(browserViewModel); } browserViewModel.WebBrowser.Dispose(); } }
public CloseTabCommand Create(BrowserTabViewModel currentTab) { return(new CloseTabCommand(_browserTabSelector, currentTab)); }