private async void OnTabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs e) { ViewModel.Tabs.Remove(e.Item); double scaling = XamlRoot.RasterizationScale; await TryCreateNewAppWindowAsync(e.Item, new Size(ActualWidth *scaling, ActualHeight *scaling)); }
private void OnTabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs e) { ViewModel.Tabs.Remove(e.Item); double scaling = XamlRoot.RasterizationScale; ViewModel.OnTabDroppedOutside(new TabDroppedOutsideEventArgs(e.Item, new Size(ActualWidth * scaling, ActualHeight * scaling))); }
// Create a new Window once the Tab is dragged outside. private async void Tabs_TabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs args) { AppWindow newWindow = await AppWindow.TryCreateAsync(); var newPage = new TabViewWindowingSamplePage(); newPage.SetupWindow(newWindow); ElementCompositionPreview.SetAppWindowContent(newWindow, newPage); Tabs.TabItems.Remove(args.Tab); newPage.AddTabToTabs(args.Tab); await newWindow.TryShowAsync(); }
private async void OnTabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs e) { isCreatingNewAppWindow = true; TabItems.Remove(e.Tab); double scaling = XamlRoot.RasterizationScale; await TryCreateNewAppWindowAsync(e.Tab, new Size(ActualWidth *scaling, ActualHeight *scaling)); if (TabItems.Count == 0) { await TryCloseAsync(); } isCreatingNewAppWindow = false; }
private async void TabStrip_TabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs args) { if (sender.TabItems.Count == 1) { return; } var indexOfTabViewItem = sender.TabItems.IndexOf(args.Tab); var tabViewItemArgs = (args.Item as TabItem).TabItemArguments; var selectedTabViewItemIndex = sender.SelectedIndex; CloseTab(args.Item as TabItem); if (!await NavigationHelpers.OpenTabInNewWindowAsync(tabViewItemArgs.Serialize())) { sender.TabItems.Insert(indexOfTabViewItem, args.Tab); sender.SelectedIndex = selectedTabViewItemIndex; } }
private async void TabStrip_TabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs args) { if (sender.TabItems.Count == 1) { return; } var indexOfTabViewItem = sender.TabItems.IndexOf(args.Tab); var tabViewItemPath = ((((args.Item as TabItem).Content as Grid).Children[0] as Frame).Tag as TabItemContent).NavigationArg; var selectedTabViewItemIndex = sender.SelectedIndex; RemoveTab(args.Item as TabItem); if (!await Interaction.OpenPathInNewWindowAsync(tabViewItemPath)) { sender.TabItems.Insert(indexOfTabViewItem, args.Tab); sender.SelectedIndex = selectedTabViewItemIndex; } }
// Create a new Window once the Tab is dragged outside. private async void Tabs_TabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs args) { AppWindow newWindow = await AppWindow.TryCreateAsync(); var newPage = new MainPage(); newPage.SetupWindow(newWindow); ElementCompositionPreview.SetAppWindowContent(newWindow, newPage); Tabs.TabItems.Remove(args.Tab); newPage.AddTabToTabs(args.Tab); // TODO: Remove when TabView.TabItems.VectorChagned is exposed. sender.Tag = newWindow; await newWindow.TryShowAsync(); }
// Create a new Window once the Tab is dragged outside. private async void Tabs_TabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs args) { // AppWindow was introduced in Windows 10 version 18362 (ApiContract version 8). // If the app is running on a version earlier than 18362, simply no-op. // If your app needs to support multiple windows on earlier versions of Win10, you can use CoreWindow/ApplicationView. // More information about showing multiple views can be found here: https://docs.microsoft.com/windows/uwp/design/layout/show-multiple-views if (!ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 8)) { return; } AppWindow newWindow = await AppWindow.TryCreateAsync(); var newPage = new TabViewWindowingSamplePage(); newPage.SetupWindow(newWindow); ElementCompositionPreview.SetAppWindowContent(newWindow, newPage); Tabs.TabItems.Remove(args.Tab); newPage.AddTabToTabs(args.Tab); await newWindow.TryShowAsync(); }
private void MainTabView_TabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs args) { }
// Create a new Window once the Tab is dragged outside. private async void Tabs_TabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs args) { MoveTabToNewWindow(args.Tab); }