This is a migrated thread and some comments may be shown as answers.

Delete item on TreeViewEdited event

1 Answer 66 Views
TreeView
This is a migrated thread and some comments may be shown as answers.
Zarko Vorkapic
Top achievements
Rank 1
Zarko Vorkapic asked on 06 Oct 2009, 09:29 AM
Hello,

I'm adding node on button click:

        void ButtonAdd_Click(Object sender, RoutedEventArgs e) 
        { 
            RadTreeViewItem selectedItem = (RadTreeViewItem)FormRevenueCodeTreeView.SelectedItem; 
 
            _newAddedTreeViewItem = new RadTreeViewItem(); 
 
            _newAddedTreeViewItem.Header = ""
 
            selectedItem.Items.Add(_newAddedTreeViewItem); 
            selectedItem.IsExpanded = true
 
            _newAddedTreeViewItem.IsSelected = true
            Deployment.Current.Dispatcher.BeginInvoke(() => _newAddedTreeViewItem.IsInEditMode = true); 
        } 

and then I'm trying to delete it if user writes nothing:

        void FormRevenueCodeTreeViewEdited(Object sender, RoutedEventArgs e) 
        { 
            RadTreeViewItem selectedItem = (RadTreeViewItem)FormRevenueCodeTreeView.SelectedItem; 
 
            if (selectedItem.Header.ToString().Trim() == ""
            { 
                // - removing newly added TreeViewItem if header is empty 
                RadTreeViewItem parentItem = selectedItem.Parent as RadTreeViewItem; 
                parentItem.Items.Remove(selectedItem); 
                return
            } 
        } 

And then exception occurss after method end.

P.S. Item paret is always RadTreeViewItem (not RadTreeVew)


1 Answer, 1 is accepted

Sort by
0
Accepted
Kiril Stanoev
Telerik team
answered on 06 Oct 2009, 12:21 PM
Hi Zarko,

Thank you for reporting this issue. We will make sure to fix it as soon as possible.
As a workaround, you can place the code that removes the empty item in a Dispatcher.

if (selectedItem.Header.ToString().Trim() == ""
    // - removing newly added TreeViewItem if header is empty  
    RadTreeViewItem parentItem = selectedItem.Parent as RadTreeViewItem; 
    Dispatcher.BeginInvoke(() => parentItem.Items.Remove(selectedItem)); 

Give it a try and let me know how it works for you.
I have also added 1000 Telerik points to your account.

Regards,
Kiril Stanoev
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
TreeView
Asked by
Zarko Vorkapic
Top achievements
Rank 1
Answers by
Kiril Stanoev
Telerik team
Share this question
or