Hello,
I am using the RadTreeView control to give the user a way to arrange and sequence many items, and all of its features have been great for customizing the various ways to interact with the items. The issue I am currently having is when many items are selected for a drag and drop operation, sometimes upwards of 400 at a time, the drag is very slow to initialize, the drop preview becomes sluggish, and the drop operation itself takes several seconds to complete. When selecting just a few items (under 30 or so..) there are no noticeable delays.
For my application specifically I use MVVM, and I must use Windows.Forms.Integration.ElementHost since I am plugging into a framework/environment that is not in my control. Both of these factor into performance, but even using the RadTreeView in a standalone WPF application the slowdowns can be observed.
Here is my instance of the treeview to give some context with the settings I am using:
<
telerik:RadTreeView
SelectionMode
=
"Extended"
IsDragDropEnabled
=
"True"
IsDragPreviewEnabled
=
"False"
IsDragTooltipEnabled
=
"True"
IsDropPreviewLineEnabled
=
"False"
IsEditable
=
"True"
Grid.IsSharedSizeScope
=
"True"
telerik:ScrollingSettingsBehavior.ScrollStep
=
"40"
telerik:ScrollingSettingsBehavior.ScrollStepTime
=
"00:00:00.01"
telerik:ScrollingSettingsBehavior.ScrollAreaPadding
=
"40"
telerik:AnimationManager.IsAnimationEnabled
=
"False"
IsVirtualizing
=
"False"
IsExpandOnDblClickEnabled
=
"True"
>
</
telerik:RadTreeView
>
Do you have any recommendations for what I can change to improve the experience when drag and drop is performed on so many items?
Thanks!
Dear Telerik-Team!
Basically I came to your site because I want to create an enhanced Class Diagram Designer for my application - and I was amazed by your Diagram editor's capabilities. I saw that you have a basic screenshot for designing entities at http://www.telerik.com/products/wpf/diagrams.aspx.
But unfortunately none of your forum posts, tutorials or examples mentioned that use case.
So I try to lay out what I would like to achive. I'm aiming to create a class designer similar to - but richer than - the Microsoft Visual Studio Class Designer.
The following constraints I have
- Layout/looks should be adaptable (this works with your control from what I have seen)
- workflow as described should be possible to achieve
The workflows are the following:
Scenario one
01CreateClass.png - I would like to create a class
02CreateProperty.png - Add a property to it. Notice that it should be grouped to a region called "Properties"
03NameProperty.png - Specify the name of the property
04NamePropertyEnd.png - Picture shows how it should look like in the end.
Scenario two
05PropertyForEnum.png - Let's add another property called "BookStat"
06EnumCreate.png - Now we create an Enum for that - this should have a different look/shape than a class shape
07AddEnumValue.png - Let's add a value to the Enum
08MakePropertyTypeEnum.png - Now drag a connector from the "BookStat" property to the enum to make it of that type
09PropertyTypeIsEnum.png - A connector should be close to the "BookStat" property connecting to the shape "BookStatus"
Scenario three
10PropertyNoBackReference.png - Create two entities
11PropertyNoBackReferenceAction.png - Drag a connection from the property "Library" of class "Book" to just the class Library.
12PropertyNoBackEnd.png - That means there is no back reference from Library to book. So the connection is put on the shape of "Library" itself
Scenario four
13ReferenceReaderBookStart.png - Create two entities
14ReferenceReaderBookAction.png - Draw the connection from property "Books" of entity "Reader" to property "Reader" of entitiy "Book"
15ReferenceReaderBookEnd.png - This time we have a back reference, so the two properties are converted to a relationship and moved to another region called "Relationships"
Hi,
I am using RadPropertyGrid in one of my projects. I have a set of dynamic values coming to the RadPropertyGrid. And I am using "PropertyGridDataTemplateSelector" to define datatemplate for each fields of the propertygrid based on the incoming data.
I am able to use Togglebutton and AutoBindBehavior.UpdateBindingOnElementLoaded="IsChecked" on the DataTemplate for boolean Types.
Similarly I want to use a customized usercontrol for a user-defined datatype. So I created a dependency property in the usercontrol and tried to do AutoBindBehavior.UpdateBindingOnElementLoaded="<dependencyProperty>". But it is not working.
The Datatemplate is working but AutoBindBehavior.UpdateBindingOnElementLoaded="<dependencyProperty>" is not setting anything to the dependencyProperty of the usercontrol.
Thanks in advance.
Hello!
I have a grid, one column is for edit different data:
<telerik:GridViewDataColumn
Width="*"
CellTemplateSelector="{StaticResource TypeCellTemplateSelector}"
DataMemberBinding="{Binding Value}"
Header="Value" />
TypeCellTemplateSelector chooses DataTemplate:
<templateSelect:SettingCellTemplateSelector.ComboBoxTemplate>
<DataTemplate>
<telerik:RadComboBox
DisplayMemberPath="Description"
ItemsSource="{Binding Value.EnumValue, Converter={StaticResource ValueToEnumConverter}}"
SelectedItem="{Binding Value.Value, Mode=TwoWay}"
SelectedValuePath="Value" />
</DataTemplate>
</templateSelect:SettingCellTemplateSelector.ComboBoxTemplate>
ValueToEnumConverter reterns collection,
BUT when it shows RadComboBox is empty
please can You help me?
In the program code, I create a Radpane and add it to a RadPaneGroup. The user can close the RadPane and open it in the RadRibbon Menu.
How can I realize that a RadPane is only opened once?
Assuming the following view model. How do I bind the VisibleItems collection to the RadGridView? One-Way binding would be sufficient, as I would deactivate any filtering from the UI side. Performance is important.
public
class
ViewModel
{
public
ObservableCollection<Item> AllItems {
get
;
set
; }
public
ObservableCollection<Item> VisibleItems {
get
;
set
; }
}
public
class
Item
{
public
string
Name {
get
;
set
; }
}
​Cheers,
Jan
Hello,
I've written a custom selection behavior in order to support un-selecting points when clicking on an empty (non-Data Point) area of the chart. This behavior works pretty nicely. However, as soon as the chart is zoomed or panned in any direction, the click ends up selecting a point to the upper-left of where I actually clicked. The main algorithm of the click selection is below. Is there a specific pan/zoom offset that I'm supposed to take into account?
var rect = new Rect((myMouseButtonEventArgs.GetPosition(this.Chart as IInputElement), new Size(myHitTestMargin));
if(this.Chart is RadCartesianChart)
{
var chart = this.Chart as RadCartesianChart;
var points = chart.Series.SelectMany(s => s.HitTestDataPoints(rect)); //-- this returns the wrong set of points when zoomed or panned
//-- Create a new arguments object with these points and invoke a custom event with those args
}