src/Misc/EFTools/DesignXmlCore/VirtualTreeGrid/Provider/VirtualTree.cs
/// <summary>
///     Query the branch to reorder child branches. This will call IBranch.VisibleItemCount
///     and IBranch.LocateObject as needed. If a list doesn't support relocation, then the
///     expanded list will be collapsed. If a branch is located after the visible item count,
///     then it's expansion state will be maintained so it can be realigned later back into
///     the visible range intact.
/// </summary>
/// <param name="branch">The branch to Realign, or null for all branches.</param>
Query the branch to reorder child branches.
Query the branch to reorder child branches .
protected void Realign(IBranch branch)
        {
            var tn = LocateTrackedNode(branch);
            Debug.Assert(tn != null); 
            int startFullCount;
            int startExpandedSubItemGain;
            while (tn != null)
            {
                startFullCount = tn.FullCount;
                startExpandedSubItemGain = tn.ExpandedSubItemGain;
                RealignTreeNode(tn);
                DoRealignNotification(tn, startFullCount, startExpandedSubItemGain);
                tn = tn.NextNode;
            }
            ClearPositionCache(); 
        }
protected void Realign ( IBranch branch ) { var tn = LocateTrackedNode ( branch ) ; Debug . Assert ( tn != null ) ; int startFullCount ; int startExpandedSubItemGain ; while ( tn != null ) { startFullCount = tn . FullCount ; startExpandedSubItemGain = tn . ExpandedSubItemGain ; RealignTreeNode ( tn ) ; DoRealignNotification ( tn , startFullCount , startExpandedSubItemGain ) ; tn = tn . NextNode ; } ClearPositionCache ( ) ; }
Query the branch to reorder child branches.
Query the branch to reorder child branches .
//Expect LocateTrackedNode to throw otherwise //Cached absolute information is toast.
branch
IBranch
The branch to Realign, or null for all branches.
The branch to Realign or null for all branches .