Hi,
I'm working on a project where we have a RadTreeView and 3rd party CAD viewer control working off the same business objects (in this case the individual CAD entities). However the difference between the way the CAD viewer does selection and how the TreeView does selection will end up being confusing to customers, and the architect wants the treeview selection method to match the CAD's. For instance, in the CAD clicking on an entity, or drag-selection of multiple entities, without any key modifiers does not de-select already selected items. a key-modified-click or key-modified-drag-selection are what deselect the specific entities. This is the same as other CAD tools.
So I have the task to override RadTreeView's selection methods to mimic these same selection behaviors - so that when you click on a treeviewitem it will select it, but not deselect other items, and a key-modified click will de-select only the items specifically indicated by the user (either individually, or under multiselect). To make things a bit more challenging, we need our treeview to be virtualized, and the RadTreeViewItem's IsSelected property is bound to a "Selected" property of the business objects (each cad entity), following an MVVM design pattern.
So what I'm having trouble finding out is what methods I need to override on RadTreeView (or even RadTreeViewItem?) to change the selection behavior with the mouse/keyboard, but still allow the the RadTreeView to fire the events it does on selection change (we've found these are still important regardless of our databinding due to ui virtualization).
Thanks!
I'm working on a project where we have a RadTreeView and 3rd party CAD viewer control working off the same business objects (in this case the individual CAD entities). However the difference between the way the CAD viewer does selection and how the TreeView does selection will end up being confusing to customers, and the architect wants the treeview selection method to match the CAD's. For instance, in the CAD clicking on an entity, or drag-selection of multiple entities, without any key modifiers does not de-select already selected items. a key-modified-click or key-modified-drag-selection are what deselect the specific entities. This is the same as other CAD tools.
So I have the task to override RadTreeView's selection methods to mimic these same selection behaviors - so that when you click on a treeviewitem it will select it, but not deselect other items, and a key-modified click will de-select only the items specifically indicated by the user (either individually, or under multiselect). To make things a bit more challenging, we need our treeview to be virtualized, and the RadTreeViewItem's IsSelected property is bound to a "Selected" property of the business objects (each cad entity), following an MVVM design pattern.
So what I'm having trouble finding out is what methods I need to override on RadTreeView (or even RadTreeViewItem?) to change the selection behavior with the mouse/keyboard, but still allow the the RadTreeView to fire the events it does on selection change (we've found these are still important regardless of our databinding due to ui virtualization).
Thanks!