It seems that the two don't get along. Code:
<Window x:Class="DeferredModeAndRowsReorder.MainWindow" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:local="clr-namespace:DeferredModeAndRowsReorder" Title="MainWindow" Height="350" Width="525" WindowState="Maximized"> <Grid> <Grid.Resources> <Style TargetType="telerik:GridViewRow" x:Key="DraggedRowStyle"> <Setter Property="telerik:DragDropManager.AllowDrag" Value="True" /> <Setter Property="telerik:DragDropManager.TouchDragTrigger" Value="TapAndHold"/> </Style> </Grid.Resources> <telerik:RadDocking x:Name="radDocking" DragDropMode="Deferred" CloseButtonPosition="InPaneAndGroup"> <telerik:RadDocking.DocumentHost> <telerik:RadSplitContainer x:Name="dh"> <telerik:RadPaneGroup x:Name="dg"> </telerik:RadPaneGroup> </telerik:RadSplitContainer> </telerik:RadDocking.DocumentHost> <telerik:RadSplitContainer telerik:DockingPanel.InitialSize="170,150" MaxWidth="600" Name="LeftContainer" InitialPosition="DockedLeft"> <telerik:RadPaneGroup x:Name="Group1"> <telerik:RadPane CanUserClose="False" x:Name="Pane1" Header="Server Explorer" CanDockInDocumentHost="False"> </telerik:RadPane> </telerik:RadPaneGroup> </telerik:RadSplitContainer> <telerik:RadSplitContainer telerik:DockingPanel.InitialSize="170,150" MaxWidth="600" Orientation="Vertical" Name="RightContainer" InitialPosition="DockedRight"> <telerik:RadPaneGroup x:Name="Group2"> <telerik:RadPane CanUserClose="False" x:Name="Pane2" Header="Toolbox" CanDockInDocumentHost="False"> </telerik:RadPane> </telerik:RadPaneGroup> <telerik:RadPaneGroup x:Name="Group3"> <telerik:RadPane CanUserClose="False" x:Name="Pane3" Header="Properties" CanDockInDocumentHost="False"> </telerik:RadPane> </telerik:RadPaneGroup> </telerik:RadSplitContainer> <telerik:RadSplitContainer telerik:DockingPanel.InitialSize="170,300" Orientation="Horizontal" Name="BottomContainer" InitialPosition="DockedBottom"> <telerik:RadPaneGroup> <telerik:RadPane CanUserClose="False" Header="System" CanDockInDocumentHost="False"> </telerik:RadPane> <telerik:RadPane CanUserClose="False" IsSelected="True" Header="Global" CanDockInDocumentHost="False"> </telerik:RadPane> <telerik:RadPane CanUserClose="False" Header="Watch" CanDockInDocumentHost="False"> <telerik:RadGridView x:Name="RadGridView1" GroupRenderMode="Flat" ShowGroupPanel="False" CanUserResizeRows="True" ItemsSource="{Binding Items}" RowStyle="{StaticResource DraggedRowStyle}" AllowDrop="True" CanUserSortColumns="False" IsFilteringAllowed="False" local:RowReorderBehavior.IsEnabled="True" telerik:ScrollingSettingsBehavior.IsEnabled="True" telerik:ScrollingSettingsBehavior.ScrollAreaPadding="30" telerik:ScrollingSettingsBehavior.ScrollStep="24" telerik:ScrollingSettingsBehavior.ScrollStepTime="00:00:00.05"> <telerik:RadGridView.Resources> <DataTemplate x:Key="DraggedItemTemplate"> <StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Text="Dragging:" /> <TextBlock Text="{Binding CurrentDraggedItem}" FontWeight="Bold" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding CurrentDropPosition}" FontWeight="Bold" MinWidth="45" /> <TextBlock Text=", (" Foreground="Gray" /> <TextBlock Text="{Binding CurrentDraggedOverItem}" /> <TextBlock Text=")" Foreground="Gray" /> </StackPanel> </StackPanel> </DataTemplate> </telerik:RadGridView.Resources> </telerik:RadGridView> </telerik:RadPane> </telerik:RadPaneGroup> </telerik:RadSplitContainer> </telerik:RadDocking> </Grid></Window>
And I just generated a simple items source in the code behind:
public partial class MainWindow : Window { private ObservableCollection<int> _items = new ObservableCollection<int>(); public MainWindow() { InitializeComponent(); for (int i = 0; i < 1000; i++) { _items.Add(i); } this.DataContext = this; } public ObservableCollection<int> Items { get { return _items; } } }
The row reorder behavior code is taken from your examples. When trying to reorder rows, then I see the deferred mode adorner and the docking compasses.
This is not the only problem. Try reordering the rows... After few drag and drops (Usually a quick drag and drop), the "Watch" pane (where the GridView was in) will disappear (because it was removed from its original group and added a some group with no items).