In the Windows TreeView, in the BeforeSelect event, the TreeViewCancelEventArgs has a property called Action. So I can check e.Action, and if the source of the action is code, or user input, I can take the appropriate action.
The closest thing RadTreeView has for this event is SelectedNodeChanging. However, the RadTreeViewCancelEventArgs doesn't have an Action property. When using a RadTreeView and handling the SelectedNodeChanging event, how can I determine the source of the selection change, whether by code or user input?