Lauren Nickerson
Top achievements
Rank 1
Lauren Nickerson
asked on 29 Dec 2009, 11:27 PM
Hi. The problem is that when a tree item goes in edit mode and you click on another tree item, the edit mode goes away. But when you do so with any other control (E. G. a button), it stays. We want it to go away too, how can we achieve that?
Here's what I'm talking about.
Thanks.
7 Answers, 1 is accepted
0
Hello Lauren Nickerson,
You can cancel the edit mode by using the IsInEditMode property of the item. You can handle the LostFocus event of the RadTreeView and to execute the code in the event handler.
Please let us know if more info is needed.
Best wishes,
Valentin.Stoychev
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.
You can cancel the edit mode by using the IsInEditMode property of the item. You can handle the LostFocus event of the RadTreeView and to execute the code in the event handler.
Please let us know if more info is needed.
Best wishes,
Valentin.Stoychev
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.
0
Lauren Nickerson
Top achievements
Rank 1
answered on 30 Dec 2009, 07:26 PM
Yes, I have another question. I used this code:
private void treeViewExperimentExplorer_LostFocus(object sender, RoutedEventArgs e) |
{ |
RadTreeViewItem selectedItem = (sender as RadTreeView).SelectedContainer as RadTreeViewItem; |
if (selectedItem.IsInEditMode) |
selectedItem.CancelEdit(); |
} |
But apparently, the LostFocus event happens when I hit F2 to enter edit mode, so it gets cancelled right away. What's a good way to accomplish this without the Edit getting cancelled when F2 is entered?
Thanks.
0
Hi Lauren Nickerson,
You can use this code.
Greetings,
Valentin.Stoychev
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.
You can use this code.
private void RadTreeView_LostFocus(object sender, RoutedEventArgs e)
{
object focusedElement = FocusManager.GetFocusedElement();
RadTreeView treeView = (focusedElement as FrameworkElement).ParentOfType<
RadTreeView
>();
if (treeView != null && treeView.Equals(sender))
{
return;
}
(sender as RadTreeView).SelectedContainer.IsInEditMode = false;
}
Greetings,
Valentin.Stoychev
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.
0
Lauren Nickerson
Top achievements
Rank 1
answered on 08 Jun 2010, 01:35 AM
Hi, thanks for the suggestion, but the code didn't work. It gets called as soon as I press F2, so at the exact same time editing begins, LostFocus event happens, and cancels the edit. Any other solution?
Thanks!
0
Hello Lauren Nickerson,
Can you give us some more details on your setup. Do you reproduce the problem when run the treeview in an isolated setup?
Kind regards,
Valentin.Stoychev
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
Can you give us some more details on your setup. Do you reproduce the problem when run the treeview in an isolated setup?
Kind regards,
Valentin.Stoychev
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Praveen
Top achievements
Rank 1
answered on 17 Feb 2016, 06:33 AM
Hey! Did you find any solutions to this issue?
0
Hi Praveen,
We already answered your question in your support thread. We are copying the answer also here:
By default when the item lost the focus while in edit mode, the edit mode will be canceled. In order to achieve the same effect for non-focusable controls which cannot get the focus from the items, you can implement custom behavior in the MouseLeftButtonDown event of the main view (the main window for example). Basically, you can check if the mouse is under the edit element and if not exit the edit mode.
Regards,
Dinko
Telerik
We already answered your question in your support thread. We are copying the answer also here:
By default when the item lost the focus while in edit mode, the edit mode will be canceled. In order to achieve the same effect for non-focusable controls which cannot get the focus from the items, you can implement custom behavior in the MouseLeftButtonDown event of the main view (the main window for example). Basically, you can check if the mouse is under the edit element and if not exit the edit mode.
public MainWindow()
{
InitializeComponent();
this.AddHandler(FrameworkElement.MouseLeftButtonDownEvent, new MouseButtonEventHandler(MainWindow_MouseLeftButtonDown),true);
}
void MainWindow_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var clickedItem = e.OriginalSource as FrameworkElement;
var treeViewItem = clickedItem.ParentOfType<
RadTreeViewItem
>();
if (treeViewItem != null)
{
var editElement = treeViewItem.ChildrenOfType<
ContentPresenter
>().FirstOrDefault(x => x.Name == "EditHeaderElement");
if (editElement != null || editElement.Visibility != Visibility.Collapsed)
{
return;
}
}
var selectedItem = this.tree.SelectedItem as RadTreeViewItem;
if (selectedItem != null)
{
selectedItem.CancelEdit();
selectedItem.IsInEditMode = false;
}
}
Regards,
Dinko
Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items