SelectedItems collection not updated when items are removed
We use a RadTreeView with many different item types that set a DefaultImageSrc based on a combination of item type and state
(from each item's view model).
For the currently selected TreeView item we would like to modify the item's image with a coloured border.
So it would be a very useful feature, if the TreeView item's SelectedImage could be derived from the DefaultImageSrc
via XAML Shapes (Rectangle, Line, etc.).
(Shapes can e.g. already be used to draw TreeView's Expander-Button for expanded/collapsed state, which is very useful).
Currently the only approach is to copy any item-type's image in the file system and modify it for selected state.
(Thus doubling the number of item image files.)
Given the number of images for different item types and states that we already have, this is not very practical.
Examples for DefaultImageSrc (left) and SelectedImageSrc (right):
Is it possible to extend RadTreeView, so that the SelectedImageSrc can be based on the given DefaultImageSrc, but with a modification provided via XAML?
Change the selection on MouseLeftButtonUp instead of MouseLeftButtonDown.
The items of the RadTreeView control do not behave correctly in a touch scenario when expanding/collapsing them.
A possible workaround for this behavior would be to set the TouchManager.ShouldSuspendMousePromotion attached property to True on the RadTreeView control instance.
RadTreeView with virtualization turned on, defines HierarchicalDataTemplates for its items.
In the template, the root panel is 32 pixels (or higher than the default TreeViewItemHeight - 24 px in OfficeBlackTheme). Scrolling the treeview, then maximizing the wpf window results in misplaced / incorrect height of treeviewitems.
Possible workaround:
Set the MinHeight property of RadTreeViewItem so that all its header content fits. Then set the item's VerticalContentAlignment to Stretch
<Style TargetType="telerik:RadTreeViewItem">
<Setter Property="MinHeight" Value="48" />
<Setter Property="VerticalContentAlignment" Value="Stretch" />
</Style>
Also following settings might help:
- setting fixed width/height of the RadTreeView
- setting ChildDefaultLength to 48 of every TreeviewPanel:
<telerik:RadTreeView.ItemsPanel>
<ItemsPanelTemplate>
<telerik:TreeViewPanel ChildDefaultLength="48" />
</ItemsPanelTemplate>
</telerik:RadTreeView.ItemsPanel>
<Style x:Key="ItemContainerStyle" TargetType="{x:Type telerik:RadTreeViewItem}">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<telerik:TreeViewPanel ChildDefaultLength="48" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
TreeView is in dropdowncontent of a DropDownButton. BringPathIntoView is called on loaded of the button (or the tree). It tries to bring several nested levels deep for example item 90.3.2.1 (4 levels deep).
On opening the button , the scrollviewer is not scrolled to the desired item.
Posssible workarounds:
- invoke the BringPathIntoView method in a Dispatcher.BeginInvoke call
- disable the treeview animations before the call and enable them after the call ( telerik:AnimationManager.IsAnimationEnabled = False)
Select an item with mouse, scroll thousands of items down and then shift select item to perform range selection. This will block the UI thread for seconds.
Dear Telerik team,
We currently have a problem with the RadDragAndDropManager as we are currently in the process of converting from Silverlight to WPF.
We are also converting Telerik from version 2011.2 to the current version of Telerik WPF.
Now the following error happens:
If I drag an item and drag it over another dropable area, the DragCue element moves.
The error occurs as soon as "e.QueryResult" is set to true in the OnDropQuery function.
You just have to do that, otherwise the drop will not be evaluated.
I was able to recreate the whole thing in a new project with just a RadTreeView and a RadMap.
I just don't want to switch the RadDragAndDropManager to the DragDropManager because we have a lot of our own controls that run with the old one, but not with the new one.
I've already tried that, but the conversion effort is just too big.
Can you see why the DragCue element is acting so weird?
With best regards
Markus Kuhlemann
Select nested item in virtualized treeview with single selection mode.
Collapse its parent. Select item in the level of the parent. Expand the parent and notice two items are visually selected.
Expexted : only the last selected item with mouse should be visually selected.
Workaround:
private void TreeView_ItemPrepared(object sender, RadTreeViewItemPreparedEventArgs e)Hi,
I found a bug when drag&dropping selected tree nodes (extended multi-selection) when the tree is virtualized. Items that never got into view are missing from the Payload Manager Data object. If virtualization is off, works as expected.
Please see modified sample for demonstration. I added 200+ items to League A -> Division A. Select the first item, quickly scroll by dragging vertical scrollbar to the bottom of the list and extend selection to the whole list. Then perform drag and drop. Note, not all items were moved.
Also, the drag visual helper moves and updates very very slowly when dragging hundredths of objects. In our application, we have thousands of objects, which makes it unusable
Thank you for a quick fix.
Tomas.