Exemple #1
0
    private async void TreeView_Expanding(winui.TreeView sender, winui.TreeViewExpandingEventArgs args)
    {
        if (!args.Node.HasUnrealizedChildren)
        {
            return;
        }

        sender.IsEnabled = false;

        try
        {
            if (args.Item is ViewModels.FileItemViewModel vm)
            {
                if (vm.Children is null)
                {
                    await vm.UpdateChildren();
                }
                args.Node.Children.Clear();
                foreach (var item in vm.Folders)
                {
                    args.Node.Children.Add(new winui.TreeViewNode()
                    {
                        IsExpanded            = false,
                        Content               = item,
                        HasUnrealizedChildren = item.IsFolder,
                    });
                }
            }
        }
        finally
        {
            args.Node.HasUnrealizedChildren = false;
            sender.IsEnabled = true;
        }
    }
 private async void Tree_Expanding(MUXC.TreeView sender, MUXC.TreeViewExpandingEventArgs args)
 {
     if (args.Item is ListWrapper listWrapper && listWrapper.HasUnrealizedChildren)
     {
         listWrapper.TokenSource = new CancellationTokenSource();
         listWrapper.Expanded    = true;
         await FillItem(listWrapper);
     }
 }
 private async void Tree_Expanding(MUXC.TreeView sender, MUXC.TreeViewExpandingEventArgs args)
 {
     if (args.Node.HasUnrealizedChildren)
     {
         if (args.Node is CancellableTreeViewNode ctvn)
         {
             ctvn.TokenSource = new CancellationTokenSource();
             ctvn.IsExpanded  = true;
         }
         await FillNode(args.Node);
     }
 }
Exemple #4
0
        private void OnNodeExpanding(TreeViewNode sender, object args)
        {
            var treeViewExpandingEventArgs = new TreeViewExpandingEventArgs(sender);

            if (ListControl != null)
            {
                if (ContainerFromNode(sender) is TreeViewItem expandingTvi)
                {
                    if (!expandingTvi.IsExpanded)
                    {
                        expandingTvi.IsExpanded = true;
                    }

                    //Update TemplateSettings properties
                    var templateSettings = expandingTvi.TreeViewItemTemplateSettings;
                    templateSettings.ExpandedGlyphVisibility  = Visibility.Visible;
                    templateSettings.CollapsedGlyphVisibility = Visibility.Collapsed;
                }
                Expanding?.Invoke(this, treeViewExpandingEventArgs);
            }
        }
Exemple #5
0
 private void UnrealizedTreeViewSelection_Expanding(Microsoft.UI.Xaml.Controls.TreeView sender, Microsoft.UI.Xaml.Controls.TreeViewExpandingEventArgs args)
 {
     VirtualizingDataSource.FillTreeNode(args.Node);
 }
    private async void TreeView_Expanding(Microsoft.UI.Xaml.Controls.TreeView sender, Microsoft.UI.Xaml.Controls.TreeViewExpandingEventArgs args)
    {
        if (!args.Node.HasUnrealizedChildren)
        {
            return;
        }

        sender.IsEnabled = false;

        try
        {
            if (args.Item is ViewModels.IBookmarkItem vm)
            {
                var container = sender.ContainerFromItem(args.Item);

                if (!vm.IsFolder)
                {
                    return;
                }
                var child = (await vm.GetChilderenAsync())?.Where(a => a.IsFolder && !a.IsReadOnly);
                if (child is null)
                {
                    return;
                }
                if (container is Microsoft.UI.Xaml.Controls.TreeViewItem tvi)
                {
                    tvi.ItemsSource = child;
                }
            }
        }
        finally
        {
            args.Node.HasUnrealizedChildren = false;
            sender.IsEnabled = true;
        }
    }