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); } }
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); } }
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; } }