Пример #1
0
        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();
        }
Пример #4
0
        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;
            }
        }
Пример #6
0
        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;
            }
        }
Пример #7
0
        // 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();
        }
Пример #8
0
        // 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();
        }
Пример #9
0
 private void MainTabView_TabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs args)
 {
 }
Пример #10
0
 // Create a new Window once the Tab is dragged outside.
 private async void Tabs_TabDroppedOutside(TabView sender, TabViewTabDroppedOutsideEventArgs args)
 {
     MoveTabToNewWindow(args.Tab);
 }