Approved
Last Updated: 30 Mar 2016 13:32 by ADMIN
Workaround: 
private void radTreeView1_NodeFormatting(object sender, TreeNodeFormattingEventArgs e)
{
    e.NodeElement.ContentElement.TextAlignment = ContentAlignment.MiddleCenter;
}
Approved
Last Updated: 21 Jun 2018 14:39 by ADMIN
Say you have a button which clears the old nodes and adds a number of new child nodes to the currently selected node. If the selected node is collapsed, the newly added nodes are not visible but the scrollbar updates as if they were.

Workaround the issue by using the BeginUpdate/EndUpdate methods of RadTreeView when updating the nodes:
radTreeView1.BeginUpdate();
    node.Nodes.Clear();
    foreach (RadTreeNode treeNode in nodes)
    {
        node.Nodes.Add((RadTreeNode)treeNode.Clone());
    }
    radTreeView1.EndUpdate();
Approved
Last Updated: 30 Mar 2016 13:29 by Svetlin
Copy and paste in RadTreeView does not copies all properties of RadTreeNode.
Approved
Last Updated: 30 Mar 2016 13:33 by ADMIN
To reproduce:

Use the following code on an empty RadTreeView: 

this.TreeView.AddNodeByPath("General\\Billing\\February\\Report.txt");

You will see that the Report.txt node will be added to the Root node

Workaround:

Use the following method:

private RadTreeNodeCollection AddNode(string path)
{
    if (path == String.Empty)
        return this.TreeView.Nodes;


    string node = Path.GetFileName(path);
    RadTreeNodeCollection parent = AddNode(Path.GetDirectoryName(path));


    if (parent.Contains(node))
        return parent[node].Nodes;
    else
        return parent.Add(node).Nodes;
}

Approved
Last Updated: 30 Mar 2016 13:28 by Svetlin
The child nodes are aligned to the root nodes when ShowRootLines property is set to false.
Approved
Last Updated: 30 Mar 2016 13:29 by ADMIN
To reproduce:
Add a RadTreeView and a Timer(from the Windows.Forms namespace). Set the timer's interval to some short duration and add nodes to tree on its tick event. Scroll the thumb while the timer is ticking. At some point you will notice that the scrollbar's maximum value is not correct.

Workaround:
Do not add nodes while scrolling:
List<string> cachedValues = new List<string>();
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer() { Interval = 100 };

void radTreeView1_MouseCaptureChanged(object sender, EventArgs e)
{
    timer.Start();
}

void timer_Tick(object sender, EventArgs e)
{
    timer.Stop();
    if (this.cachedValues.Count > 0 && !radTreeView1.TreeViewElement.Scroller.Scrollbar.ThumbElement.Capture)
    {
        foreach (string value in this.cachedValues)
        {
            root.Nodes.Add(value);
        }

        cachedValues.Clear();
    }
}

private void timerUpdateNodes_Tick(object sender, EventArgs e)
{
    for (int i = 0; i < 10; ++i)
    {
        if (random.NextDouble() < .2)
        {
            if (radTreeView1.TreeViewElement.Scroller.Scrollbar.ThumbElement.Capture)
            {
                cachedValues.Add("Node");
            }
            else
            {
                root.Nodes.Add("Node");
            }
        }
    }
}
Approved
Last Updated: 30 Mar 2016 13:33 by ADMIN
If you have a node with a very long text that requires horizontal scrollbar and at the same time you have a many nodes which requires a vertical scrollbar in some border cases the long text of the node is cut off (with ellipsis).
Approved
Last Updated: 30 Mar 2016 13:22 by ADMIN
To reproduce:
  radTreeView1.Filter = "new";
            radTreeView1.Nodes.Add("new Node");
            for (int i = 0; i < 1000; i++)
            {
                radTreeView1.Nodes.Add(new RadTreeNode("test"));
            }

Workaround:
            radTreeView1.TreeViewElement.Update(RadTreeViewElement.UpdateActions.Reset);
Approved
Last Updated: 16 Sep 2016 14:22 by ADMIN
Workaround:

raise a flag before the delete operation and cancel the SelectedIndexChanging event
Approved
Last Updated: 06 Feb 2017 12:00 by ADMIN
Please refer to the attached gif file and sample project. The screen tip position is not the same each time. Hence, the issue may not be reproducible every time.

Workaround: use the TooltiptextNeeded event.
Approved
Last Updated: 15 Nov 2018 11:37 by ADMIN
To reproduce:
private void RadTreeView1_NodeCheckedChanging(object sender, Telerik.WinControls.UI.RadTreeViewCancelEventArgs e)
{
    Console.WriteLine(e.Action);
}

The action is always unknown.
Approved
Last Updated: 16 May 2019 05:06 by ADMIN
To reproduce: add a RadTreeView and a RadBreadCrumb and apply the MaterialTeal theme. Refer to the attached screenshot illustrating the wrong font of the selected item.

Workaround:

    public partial class RadForm1 : Telerik.WinControls.UI.RadForm
    {
        public RadForm1()
        {
            InitializeComponent(); 

            ThemeResolutionService.ApplicationThemeName = "MaterialTeal";

            this.radTreeView1.NodeFormatting += radTreeView1_NodeFormatting;
            this.radTreeView1.SelectedNodeChanged += radTreeView1_SelectedNodeChanged; 
        }
 
        private void UpdateFont()
        {
            foreach (RadSplitButtonElement item in this.radBreadCrumb1.BreadCrumbElement.Items)
            {
                foreach (RadMenuItem menuItem in item.Items)
                {
                    if (this.radTreeView1.SelectedNode != null && menuItem.Text == this.radTreeView1.SelectedNode.Text)
                    {
                        menuItem.Font = new Font(f.FontFamily,f.Size, FontStyle.Bold);
                    }
                }
            }
        }
        
        private void radTreeView1_SelectedNodeChanged(object sender, Telerik.WinControls.UI.RadTreeViewEventArgs e)
        {
            UpdateFont();
        }

        Font f = null;

        private void radTreeView1_NodeFormatting(object sender, Telerik.WinControls.UI.TreeNodeFormattingEventArgs e)
        {
            f = e.NodeElement.ContentElement.Font;
        }
Approved
Last Updated: 30 Aug 2018 13:25 by ADMIN
Workaround: Expand and collapse the nodes so that they are synchronized
this.radTreeView1.ExpandAll();
this.radTreeView1.CollapseAll();
Approved
Last Updated: 30 Mar 2016 13:33 by ADMIN
To reproduce:


Add nodes to RadTreeView with at least 3 levels hierarchy. Set some of the last level nodes Visible property to false. Start the application. Expand some nodes and scroll. You will notice that the last item will change sometimes.


Workaround:
Set this.radTreeView1.TreeViewElement.AllowArbitraryItemHeight = true;
Use ItemHeight = 1, instead of Visible = false
Approved
Last Updated: 08 Apr 2016 09:38 by ADMIN
In Load-On-Demand scenario when visibility of ExpanderElement is changed in NodeFormatting - drawing of lines is invalid
Approved
Last Updated: 30 Mar 2016 13:33 by ADMIN
The Enabled property cannot be set in PropertyBuild if the RadTreeView is already data-binded via Property builder

Workaround:

Set the property at run-time.
Approved
Last Updated: 05 Apr 2016 12:54 by ADMIN
To reproduce:
- Open the attached project.
- Scroll to the right.
- Drag a node.
- The DropHint line is outside the window.
 
Workaround:
class CustomTreeView : RadTreeView
{
    //Replace the default element with the custom one
    protected override RadTreeViewElement CreateTreeViewElement()
    {
        return new CustomTreeViewElement();
    }
    //Enable theming for the control
    public override string ThemeClassName
    {
        get
        {
            return typeof(RadTreeView).FullName;
        }
    }
}
class CustomTreeViewElement : RadTreeViewElement
{
    //Enable themeing for the element
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(RadTreeViewElement);
        }
    }
    //Replace the default drag drop service with the custom one
    protected override TreeViewDragDropService CreateDragDropService()
    {
        return new MyDragDropService(this);
    }
}
class MyDragDropService : TreeViewDragDropService
{
    public MyDragDropService(RadTreeViewElement owner)
    : base(owner)
{ }
    protected override void UpdateHintPosition(Point mousePosition)
    {
        base.UpdateHintPosition(mousePosition);
        RadLayeredWindow dropHint =typeof(TreeViewDragDropService).GetField("dropHintWindow", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(this) as RadLayeredWindow;
        if (dropHint != null)
        {
            TreeNodeElement nodeElement = this.DropTarget as TreeNodeElement;
           
            dropHint.Location = new Point (nodeElement.ElementTree.Control.PointToScreen(Point.Empty).X, dropHint.Location.Y);
        }
    }
}


Approved
Last Updated: 06 May 2016 13:21 by ADMIN
Approved
Last Updated: 06 Jun 2016 10:19 by ADMIN
Use the attached project to reproduce.
- Check on of the nodes and then press Alt +T (do not move the mouse away from the node)

Workaround:
Set transparent fill and border to the TreeNodeElement disabled state in Visual Style Builder.
1 2