private void TreeGrid_ItemsSourceChanged(object sender, TreeGridItemsSourceChangedEventArgs e) { if (ViewModel is not ProjectExplorerViewModel viewModel) { return; } if (TreeGrid == null) { return; } if (TreeGrid.View != null) { if (!_isfirsttime) { if (viewModel.LastSelected != null) { TreeGrid.ExpandAllNodes(); var rowIndex = this.TreeGrid.ResolveToRowIndex(viewModel.LastSelected); if (rowIndex > -1) { var q = TreeGrid.ResolveToRowIndex(rowIndex - 1); var columnIndex = this.TreeGrid.ResolveToStartColumnIndex(); this.TreeGrid.ScrollInView(new RowColumnIndex(q, columnIndex)); TreeGrid.SelectRows(q, q); } } } else { _isfirsttime = false; } } }
//private void View_NodeCollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) //{ // Trace.WriteLine("hello"); // //if (e.NewItems != null) // //{ // // foreach (var nerd in e.NewItems) // // { // // Trace.WriteLine(nerd.ToString()); // // TreeGrid.ExpandNode((TreeNode)nerd); // // } // //} // if (ViewModel is not ProjectExplorerViewModel viewModel) // { // return; // } // //var rootnodes = TreeGrid.View.Nodes.RootNodes; // //foreach (var rootnode in rootnodes) // //{ // // TreeGrid.ExpandNode(rootnode); // //} // Trace.WriteLine(e.Action.ToString()); //} //protected override void OnViewModelPropertyChanged(PropertyChangedEventArgs e) //{ // if (ViewModel is not ProjectExplorerViewModel viewModel) // { // return; // } // var name = e.PropertyName; // switch (name) // { // case nameof(viewModel.IsTreeBeingEdited): // if (viewModel.IsTreeBeingEdited) // { // TreeGrid.View.BeginInit(TreeViewRefreshMode.DeferRefresh); // } // else // { // TreeGrid.View.EndInit(); // } // break; // } //} #endregion Constructors public void ExpandChildren() { if (ViewModel is not ProjectExplorerViewModel viewModel) { return; } var model = viewModel.SelectedItem; var node = TreeGrid.View.Nodes.GetNode(model); TreeGrid.ExpandAllNodes(node); }
public void ExpandAll() => TreeGrid.ExpandAllNodes();